【发布时间】:2012-05-05 13:47:46
【问题描述】:
考虑这个函数:
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>
警告框正在显示,但它显示“未定义”。
【问题讨论】:
-
如果您可以完全更改它,我建议您在两个输入字段中添加一个字段“id”,并使用
document.getElementById,它只返回一个值。 -
更好的是:
var inputs = document.getElementsByTagName('input'),返回一个节点列表,您可以从中提取两个元素,如下所示:var pass = inputs.item('pass')。只是一个提示,如果你正在处理一个大 DOM,这可以加快速度,因为getElementById每次都会搜索整个树,而节点列表不会,所以它更快...... -
确实是小可爱XD
标签: javascript html dom