getElementsByName()返回undefined

时间:2013-12-07 07:15:46

标签: javascript

这是我的基本代码。我只需要打印用户输入的值。但是,它返回undefined。请帮忙。提前谢谢。

脚本

// using getElementsByName() method
function msg(){
var v=document.getElementsByName("name1");
alert("Your name is:"+v[0].innerHTML);
}

HTML

<input type="text" name="name1"/>
<input type="button" value="Submit" onclick="msg()"/>

4 个答案:

答案 0 :(得分:4)

使用.value代替.innerHTML ...

.getElementsByName()会返回您的期望,您的问题是({miss})使用innerHTML

// using getElementsByName() method
function msg() {
    var v = document.getElementsByName("name1");
    alert("Your name is:" + v[0].value);
}

Fiddle

答案 1 :(得分:2)

我刚刚运行了你的代码,它似乎没有返回undefined。实际上,getElementsByName返回正确的对象。问题是你的警告声明。

你有:

alert("Your name is:"+v[0].innerHTML);

应该是:

alert("Your name is:"+v[0].value);

答案 2 :(得分:1)

尝试使用value代替innerHTML

document.getElementsByName()返回所有元素的HTMLCollection,其中包含name属性的给定值。

所以请像alert("Your name is:"+v[0].value);

一样使用

参考:https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByName

答案 3 :(得分:-1)

使用此代码

<script>
function msg(){
var v=document.getElementsByName("name1");
alert(v);
 alert("Your name is:"+v[0].value);
}
</script>