JavaScript问题:getElementsByName()不';我不工作
仅尝试提醒电话字段中输入的值,但它会提醒未定义的值:JavaScript问题:getElementsByName()不';我不工作,javascript,Javascript,仅尝试提醒电话字段中输入的值,但它会提醒未定义的值: <script type="text/javascript"> function foo() { alert(document.getElementsByName("phone").value); return false; } </script> <form action="foo.php" method="post" onsubmit="return foo()"> <l
<script type="text/javascript">
function foo() {
alert(document.getElementsByName("phone").value);
return false;
}
</script>
<form action="foo.php" method="post" onsubmit="return foo()">
<label>Name:</label>
<input type="text" name="name" />
<label>Phone:</label>
<input type="text" name="phone" />
<label>Email:</label>
<input type="text" name="email" />
<label>Message:</label>
<textarea name="message"></textarea>
<input type="submit" value="Submit" name="submit" />
</form>
函数foo(){
警报(document.getElementsByName(“电话”).value);
返回false;
}
姓名:
电话:
电邮:
信息:
如何让它工作?此外,我还了解到所有主要浏览器都支持getElementsByName,是这样吗?您得到的是元素的集合,而不是一个元素
alert(document.getElementsByName("phone")[0].value);
元素需要有一个id才能正常工作。比如说
<input type="text" id="phone">Phone:</input>
getElementsByName(…)返回DOM元素的集合
你试过这个吗
document.getElementsByName("phone")[0].value
根据代码片段,您可能希望使用ID,而不是仅使用名称。那样的话,你可以打电话给
... HTML ...
<input type="text" id="phone" />
... Javascript ...
document.getElementById("phone").value
。。。HTML。。。
... Javascript。。。
document.getElementById(“电话”).value
。。。检索所需的元素。方法不是get*Elements*ByName。它返回数组中的多个元素 您需要的是
document.getElementsByName(“电话”)[0]。value
我建议使用ID,而不是名字
然后你可以做
document.getElementByID(“电话”).value
啊,很好,不知道它返回了一个数组。我知道get-element by-id,但如果不需要的话,我宁愿保持不阻塞标记(我的表单总是有用于服务器端处理的名称),除非get-element by-id的性能明显更好,不是吗?它实际上不是数组,而是一个活动节点列表(或某些浏览器中的HTMLCollection)@Brandon-检查此网站:。在我的机器上(Mac+Chrome),getElementById实际上比getElementsByName慢3毫秒。仅供参考@杜里-你说得对。它返回一个集合,而不是数组。谢谢你指出这一点。你正在登录哪个浏览器?@sv_-in只需要它在最新版本的ff、opera、safari、chrome和ie6以及更高版本中工作。
... HTML ...
<input type="text" id="phone" />
... Javascript ...
document.getElementById("phone").value