只是尝试提醒在电话字段中输入的值,但警告未定义:
<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>
如何让它发挥作用?另外,我读到所有主流浏览器都支持getElementsByName,这是真的吗?
答案 0 :(得分:5)
document.getElementsByName(...)返回DOM元素的集合。
你试过这个吗?
document.getElementsByName("phone")[0].value
根据代码片段而不是仅使用名称,您可能希望使用ID代替。在这种情况下,您可以致电...
... HTML ...
<input type="text" id="phone" />
... Javascript ...
document.getElementById("phone").value
...检索你想要的元素。
答案 1 :(得分:0)
你得到的是元素集合,而不是一个元素。
alert(document.getElementsByName("phone")[0].value);
答案 2 :(得分:0)
元素需要有一个id才能正常工作。例如
<input type="text" id="phone">Phone:</input>
与
document.getElementByID("phone");
答案 3 :(得分:0)
该方法不是get * Elements * ByName。它返回数组中的多个元素。
您需要的是document.getElementsByName("phone")[0].value
而不是名字,我建议使用ID。
然后你可以做document.getElementByID("phone").value