document.getElementsByName('name').value
返回未定义
。我对为什么会出现这种情况一无所知。
我正确地包含了 .js 文件,Firebug 在我的代码中没有发现任何错误,并且代码在第一行或第二行内失败,因为每次我调用上述函数时,它都会返回 undefined
.这让我完全困惑。
以下是我包含该文件的方法:
<script type="text/javascript" src="new.js"></script>
以下是达到函数调用返回的第一个未定义值所需的所有代码:
function myfunction() {
var myvar = document.getElementsByName('myElement').value;
...此时我得到了 undefined variable 。我用来触发脚本的按钮使用以下代码:
<button type="button" onclick="myfunction()">MyButton</button>
- 我使用的按钮类型是否会影响脚本可用的信息?
- 如何找出
document.getElementsByName()
返回undefined
的原因? - Javascript
document
对象与从其他文件导入的脚本是否存在范围问题?
抱歉,如果这是一个愚蠢的问题。我对 Javascript 很陌生。
编辑:谢谢迈克·塞缪尔的回答。这就像一个魅力一样解决了它,我想知道为什么我以前不知道这一点?我应该至少猜测一下 getElementsByName() 如何表明返回了多个值......
最佳答案
getElementsByName
返回一个包含元素的类似数组的对象,而不是一个元素。在 .value
之前添加 [0]
。
var myvar = document.getElementsByName('myElement')[0].value;
关于JavaScript 无法访问文档 : null or undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7707893/