在javascript中从FORM获取数据

时间:2013-04-09 06:21:42

标签: javascript html forms

我需要从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>

但它没有用。如何轻松搞定。

3 个答案:

答案 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]吗?