JavaScript通过名称获取元素
考虑这个function:
function validate() { var acc = document.getElementsByName('acc').value; var pass = document.getElementsByName('pass').value; alert (acc); }
而这个HTML部分:
<table border="0" cellpadding="2" cellspacing="0" valign="top"> <tr> <td class="td1">Account</td> <td class="td2"><input type="text" name="acc" /></td> </tr> <tr class="td1"> <td>Password</td> <td class="td2"><input type="password" name="pass" /></td> </tr> </table> <div><button onClick="validate()" class="cupid-greenx">Login now</button></div>
警告框正在显示,但显示“未定义”。
document.getElementsByName
返回元素的NodeList,所以它没有属性.value
。 因此你看到的未定义的错误。
你想要的是document.getElementsByName("acc")[0].value
注意这个方法中的复数:
document.getElementsByName()
这返回一个元素数组,所以使用[0]来获得第一个发生,例如
document.getElementsByName()[0]
你要这个:
function validate() { var acc = document.getElementsByName('acc')[0].value; var pass = document.getElementsByName('pass')[0].value; alert (acc); }
document.getElementsByName("myInput")[0].value;
方法document.getElementsByName返回一个元素数组。 例如,您应该先select。
document.getElementsByName('acc')[0].value