Javascript body onload是否发生在window.onload之前?

Javascript body onload是否发生在window.onload之前?,javascript,html,Javascript,Html,我正在做以下工作。如果启用js,它基本上通过?answer=1。它一直工作到我添加onload参数为止(因为我希望在没有用户触发器的情况下实现这一点)。但是,添加onload似乎会停止(否则会起作用)getElementById参数。为什么会这样 <script type="text/javascript"> window.onload = function() { document.getElementById('answer').value = '1'; } </scrip

我正在做以下工作。如果启用js,它基本上通过?answer=1。它一直工作到我添加onload参数为止(因为我希望在没有用户触发器的情况下实现这一点)。但是,添加onload似乎会停止(否则会起作用)getElementById参数。为什么会这样

<script type="text/javascript">
window.onload = function() {
document.getElementById('answer').value = '1';
}
</script>
</head>
<body onload="document.forms[0].submit();">
<form name="form" action="enabled_catch.php" method="get">
<input type="hidden" name="answer">
</form>

window.onload=函数(){
document.getElementById('answer')。值='1';
}
谢谢

试试这个:

window.onload = function() {
  document.getElementById("answer").value = '1';
  document.forms[0].submit();
}
正如我在评论中所说,
window.onload
标记的“onload”处理程序是一样的。因此,你不能让一个是一个函数,另一个是另一个函数,因为“另一个”实际上不是另一个东西,而是同一个东西

此外,您的
元素需要一个“id”:



它们是相同的东西-换句话说,
窗口。onload
指的是与
标记的
onload
属性相同的东西。此外,您使用的是
getElementById()
但是您的输入元素没有“id”属性-这在IE中工作,因为IE被破坏了,但是它在正确的浏览器中不起作用。那么,为什么body onload会停止window.onload的工作?因为没有两个不同的
onload
处理程序-您在
块中分配第一个处理程序,然后当浏览器看到您的
标记时,它会将处理程序重新分配给该代码。不能有一个属性指向两个不同的处理程序。这是的副本
<input type='hidden' name='answer' id='answer'>