Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript window.onLoad元素内容未更改_Javascript_Html - Fatal编程技术网

Javascript window.onLoad元素内容未更改

Javascript window.onLoad元素内容未更改,javascript,html,Javascript,Html,我在更改内容时遇到问题 HTML代码: <script type="text/javascript"> // Javascript function promptLogin() { var person=prompt("Please enter your name","User"); if (person!=null) { x="Hello " + person + ", welcome to JBA Limited"; do

我在更改内容时遇到问题

HTML代码:

<script type="text/javascript">
// Javascript
function promptLogin()
{
    var person=prompt("Please enter your name","User");

    if (person!=null)
    {
        x="Hello " + person + ", welcome to JBA Limited";
        document.getElementById("topBar_message").innerHTML=x;
    }
}
</script>
</head>

<body>

<script>window.onLoad = promptLogin()</script>
<header>
    <div class="bul_header_topBar">
        <p id="topBar_message">Welcome to JBA Limited</p>
    </div>

//Javascript
函数promplogin()
{
var person=提示(“请输入您的姓名”、“用户”);
if(person!=null)
{
x=“你好”+个人+”,欢迎来到JBA有限公司”;
document.getElementById(“topBar_消息”).innerHTML=x;
}
}
window.onLoad=promplogin()
欢迎来到JBA有限公司

我不确定这个问题,但我担心问题在于加载网页之前调用的函数,因此没有id。不是这样,就是拼错了什么


Bull

我猜您的dom还没有加载,所以当您尝试“获取”您的元素时,它还没有加载

您可以在下面添加我的建议,或者保留所有内容,除了删除onload等。。并将该调用(带有脚本标记)放在页面的最底部

 //at the bottom of your page within script tags
 <script>promptLogin()</script>
})()


您需要从
promplogin

编辑:哦,是的,它是
onload
,而不是
onload

大编辑:

window.onload
等待DOM加载,所以它不可能不存在。这只是您试图传递已运行的方法的情况。
promplogin
末尾的
()
表示“
窗口.onLoad
等于此函数的返回值”,而不是您要查找的(
窗口.onLoad
等于此函数”)


此外,以前浏览器在处理这些回调时不太区分大小写,但现在它们是。这是一个
窗口。onload

el_bob所说的是正确的,但是,我会使用匿名函数语法,因为它更常见,因此更可读:

window.onload = function(){
    promptLogin();
}
此语法的主要优点是可以进行多个调用:

window.onload = function(){
    promptLogin();
    anotherFunction();
    thirdFunction();
}

感谢James,我刚刚开始学习js,所以这对我很有帮助。window.onload调用的任何函数都是在DOM完全加载后执行的“加载事件在文档加载过程结束时触发。此时,文档中的所有对象都在DOM中,所有图像和子帧都已完成加载。”
window.onload = function(){
    promptLogin();
    anotherFunction();
    thirdFunction();
}