【发布时间】:2015-11-02 10:54:21
【问题描述】:
我的 javascript document.getElementById 函数有问题。问题是,除了 Internet Explorer 之外,每个浏览器都会收到 document.getElementById 为空的错误。
例如火狐:
TypeError: document.getElementById(...) is null
getElementById-Function 出现在按钮声明之后,因此函数不知道 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>
谢谢!
【问题讨论】:
-
< button name= "subm_myform">/getElementById('subm_myform')- 由于某些向后兼容性的原因,IE 可能将name和id混为一谈?我在您发布的代码中没有带有id="subm_myform"的元素。 -
您的按钮有一个
name或subm_myform,而不是一个ID。如果 IE 没有按 ID 查找元素,它会尝试按名称查找。至少在旧版本的 IE 中。 (实际上,我们必须在每个浏览器中为我们的某些代码库添加一次 getElementByID 函数……shudder)
标签: javascript html