Ada*_*dam 0 javascript scope globals
document.getElementsByName('name').value回报undefined.关于为什么会这样,我没有最模糊的想法.
我正确地包含了.js文件,Firebug在我的代码中没有发现任何错误,并且代码在第一行或第一行中失败,因为每次我调用上面提到的函数时,它都会返回undefined.这让我完全糊涂了.
这是我如何包含该文件:
<script type="text/javascript" src="new.js"></script>
Run Code Online (Sandbox Code Playgroud)
以下是达到函数调用返回的第一个未定义值所需的所有代码:
function myfunction() {
var myvar = document.getElementsByName('myElement').value;
Run Code Online (Sandbox Code Playgroud)
......那时我得到未定义的变量.我用来触发脚本的按钮使用以下代码:
<button type="button" onclick="myfunction()">MyButton</button>
Run Code Online (Sandbox Code Playgroud)
document.getElementsByName()退货的原因undefined?document对象是否与从另一个文件导入的脚本有任何范围问题?对不起,如果这是一个愚蠢的问题.我是Javascript的新手.
编辑:谢谢Mike Samuel的回答.这就像一个魅力固定它,我想知道为什么我以前不知道这个?我应该在租用的猜测中看到getElementsByName()建议如何返回多个值...
getElementsByName返回一个包含元素的类数组对象,而不是元素.坚持一个[0]之前.value.
var myvar = document.getElementsByName('myElement')[0].value;
Run Code Online (Sandbox Code Playgroud)