我需要从FORM
获取数据。我的表格是:
<form action="" id="test">
<h2>Data</h2>
<label for="">Name</label>
<input type="text" name="name">
<label for="">address</label>
<input type="text" name="address">
<label for="">phone</label>
<input type="text" name="phone">
<input type="button" onclick="xd()" value="click here">
</form>
为此,我使用了这个javascript命令:
<script type="text/javascript">
function xd(){
//var x=document.forms["test"].getElementsByTagName("address") or
var x=document.forms["test"].getElementsByTagName("address").value
document.write(x);
}
</script>
但它没有用。如何轻松搞定。
答案 0 :(得分:1)
您好像是按照name
属性(地址)定位元素,而不是按tagName
属性定位。
.getElementsByTagName
查找容器中具有特定tagName
的所有元素...意味着tagName
元素的<a href="#">asdf</a>
为“a”。
我会用:
<script type="text/javascript">
function xd(){
var inputs = document.forms["test"].getElementsByTagName("input");
for (var i = 0 ; i < inputs.length; i++) {
if (inputs[i].name === "address") {
// `inputs[i]` is the element with the name "address"
}
}
}
</script>
您必须遍历结果,并将匹配的元素“name
”属性与您想要的内容进行比较...“地址”。
当然,另一种选择是使用getElementsByName("address")
,例如:
var address = document.forms["test"].getElementsByName("address");
if (address.length > 0) {
// `address[0]` is the element with the name "address"
}
最后一个选项是使用querySelectorAll('input[name="address"]')
,例如:
var address = document.forms["test"].querySelectorAll('[name="address"]');
if (address.length > 0) {
// `address[0]` is the element with the name "address"
}
答案 1 :(得分:0)
你没有标记“地址”。而不是名字放id.It很容易你
<input type="text" name="address" id="addressId">
var x=document.forms["test"].getElementsById("addressId").value
或使用
var inputs = document.forms["test"].getElementsByTagName("input");
for (var i = 0 ; i < inputs.length; i++) {
if (inputs[i].name === "address") {
// `inputs[i]` is the element with the name "address"
}
}
答案 2 :(得分:0)
您的意思是getElementsByName("address")[0]
吗?