2010-08-28 74 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'>