javascript document.getElementById函數有問題。問題是,除Internet Explorer之外的每個瀏覽器都出現document.getElementById爲null的錯誤。getElementById在Internet Explorer中返回null
對於實施例的Firefox:
類型錯誤:的document.getElementById(...)爲空
的的getElementById用功能出現按鈕的聲明之後,因此它不應該是一個問題,該函數不知道ID元素是什麼。
這是腳本與有關代碼的摘錄:
<html>
<head>
<title>Timeline</title>
<meta charset="utf-8">
</head>
<body>
<form method="post" id="myform" onsubmit="window.location.reload();">
<input type="hidden" id="client_timestamp" name="client_timestamp" />
<button name= "subm_myform" type="submit" >Send My Time</button>
</form>
<script type="text/javascript">
// ------- where the error occurs ----------------
document.getElementById('subm_myform').style.visibility='hidden';
var mySync = setTimeout(function() {document.getElementById('subm_myform').click()} ,60000);
</script>
</body>
</html>
謝謝!
'<按鈕名稱= 「subm_myform」>'/'的getElementById( 'subm_myform')' - 說不定IE合併了'name'和'ID '出於一些向後兼容的原因?我在你發佈的代碼中沒有帶'id =「subm_myform」'的元素。 – pawel
你的按鈕有一個'subm_myform'的名字,而不是一個ID。如果IE沒有通過ID找到一個元素,它會試圖通過名稱來實現。至少在舊版本的IE中。(我們實際上必須將getElementByID函數填充到每個瀏覽器中,以便我們的一些代碼庫一次... _shudder_) –