document.getElementsByName('name').value
返回undefined
。我不知道为什么会出现这种情况。Javascript无法访问文档:null或undefined
我正确包含了.js文件,Firebug在我的代码中找不到任何错误,并且代码在第一行或第二行中失败,因为每次我调用上述函数时,它都会返回undefined
。这让我完全困惑。
这里是我的文件包括:
<script type="text/javascript" src="new.js"></script>
这里是所有到达一个函数调用返回的第一个未定义的值所需的代码:
function myfunction() {
var myvar = document.getElementsByName('myElement').value;
...和我得到未定义的变量。我用它来触发脚本的按钮使用如下代码:
<button type="button" onclick="myfunction()">MyButton</button>
- 我是否有效果按钮的类型什么样的信息是提供给脚本?
- 如何找出为什么
document.getElementsByName()
返回undefined
? - Javascript
document
对象是否存在与从另一个文件导入的脚本有关的任何范围问题?
对不起,如果这是一个愚蠢的问题。我对JavaScript很陌生。
编辑:谢谢麦克塞缪尔你的答案。这固定它像一个魅力,我想知道为什么我以前不知道这一点?我应该在租用猜测和getElementsByName()如何表示有多个返回的值一样多的情况下...
'document.getElementByName'不是跨浏览器,所以是的,它可能会返回奇怪的值或根本没有。这可能更容易分配一个ID或通过标签名称获取元素。 – William
@Lime - 没有“getElementByName”,你寻求的方法是* getElementsByName *,每个支持DOM 1的浏览器都有它(自Navigator 2以来几乎每个浏览器都有)。 – RobG
@RobG拼写错误=)无论如何,IE 9仍然没有得到'getElementsByName' [correct](http://www.quirksmode.org/dom/w3c_core.html#t125)。我绝对不会把这个古怪的行为称为跨浏览器。如果没有'document.getElementsByName(“myElement”)'的更多上下文,他可能会遇到浏览器错误。 – William