2010-08-28 57 views
1

我正在处理以下问题。如果启用了js,它基本上会传递?answer = 1。它工作,直到我添加onload参数(因为我希望这发生没有用户触发器)。然而,添加onload似乎停止(否则工作)getElementById参数。这是为什么发生?在window.onload之前是否发生body onload?

<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> 

感谢

+2

他们是同样的事情 - 换句话说,'window.onload'指的是同样的事情的了'onload'属性''标记。 – Pointy 2010-08-28 15:36:11

+0

此外,您正在使用'getElementById()',但您的输入元素没有“id”属性 - 在IE中工作,因为IE已损坏,但无法在正确的浏览器中正常工作。 – Pointy 2010-08-28 15:36:43

+0

那么为什么body onload似乎停止window.onload工作? – giles 2010-08-28 15:40:10

回答

2

试试这个:

window.onload = function() { 
    document.getElementById("answer").value = '1'; 
    document.forms[0].submit(); 
} 

正如我所说的在我的评论,window.onload是同样的事情 “的onload” 处理程序<body>标签。你不能让一个成为一个功能,而另一个成为另一个功能,因此,因为“其他”并不是另一回事 - 它是一回事。

此外,您<input>元素需要一个“id”:

<input type='hidden' name='answer' id='answer'> 
相关问题