2012-12-17 110 views
1

我已经花了整天阅读教程,但似乎无法找到这个基本问题的答案。getelementsbyname不返回任何值

我想要做的就是访问输入字段的值。我已经做了一个基本的存根来尝试和教导自己。期望的行为是,当我点击“提交”按钮时,我应该得到一个警报号码字段“点”的值。但是,当我将下面的代码放入我的网站时,然后单击提交按钮,没有任何反应。

<script type="text/javascript"> 
    function checknumber() 
    { 
     var testnumber=document.getelementsbyname("points").value; 
     alert(testnumber); 
    } 
</script> 
<input type="number" name="points" value="1">Points<br> 
<input type="submit" onclick="checknumber();"> 

我在做什么错?

顺便说一句,如果我摆脱与“getelementsbyname”行了,改变脚本如下:

function checknumber() 
{ 
    var testnumber="hello world"; 
    alert(testnumber); 
} 

然后一切工作正常,我得到一个警报弹出文本“Hello World”的完全一样预期。

任何帮助将不胜感激。

+0

JavaScript是区分大小写的 – leppie

回答

7

它因为getElementsByName返回HTMLCollection。所以,你必须使用:

function checknumber() 
{ 
    var testnumber=document.getElementsByName("point")[0].value; 
    alert(testnumber); 
} 

function checknumber() 
{ 
    var testnumber=document.getElementsByName("point")[0].value; 
    alert(testnumber); 
} 

Here's the demo(单击运行与JS,输入任意号码,并点击该按钮,警报会弹出)。

+1

感谢你们两位。我一直在旅行,所以请原谅延迟感谢你。你已经度过了我的一天! – hamptonus