【问题标题】:how to get value of input box without id and name field using javascript如何使用javascript获取没有id和name字段的输入框的值
【发布时间】:2012-10-16 11:45:31
【问题描述】:

我有一个带有 3 个输入框的表单,所有输入框都没有 id、name 字段。因此,如果我在其中输入值,如何使用 javascript 检查没有 id 和 name 字段的输入框的值

<form id='a' action='' >
    <input type='text' value='' />
    <input type='text' value='' />
</form>

这是 html 中的代码,我想使用 javascript 获得输入框的值。我可以这样做吗?

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    您可以参考他们并检查他们的value 属性。

    为了支持较新的浏览器的奢侈...

    [].forEach.call(document.querySelectorAll("#a input[type='text']"),
                   function(input) {
                       var value = input.value;
                   }); 
    

    如果你需要支持那些似乎还在流连忘返的恼人浏览器,只需多写一点代码就可以了。

    var inputs = document.getElementById("a").getElementsByTagName("input");
    var i;
    var length;
    var value;
    
    for (i = 0, length = inputs.length; i < length; i++) {
         // Check we have [type='text']
         if (inputs[i].type != "text") {
             continue;
         }
         value = inputs[i].value;
    
    }
    

    【讨论】:

    • 他想检查文本框值而不是复选框
    • @Harry 我必须戴眼镜。更新了答案。
    • 感谢它对我有用,我将 input.value 的倒数第二行更改为 inputs.value
    【解决方案2】:

    您可以通过getElementsByTagName 获取值,代码将是这样的

    var inputs = document.getElementsByTagName('input');
    value1 = inputs[0].value;
    value2 = inputs[1].value;
    

    【讨论】:

    • 不幸的是,这实际上行不通。你不能下标undefined(嗯,通常不会)。
    【解决方案3】:

    您可以使用表单对象的 elements 属性,该属性将仅遍历表单内的 input 元素:

    for (var i = 0; i < a.length; i++) {
      var e = a[i];
      if (e.type == 'text') {
        f(e.value);
      }
    }
    

    【讨论】:

      【解决方案4】:
      var inpObj = document.getElementsByTagName('input');
      for(var i in inpObj){
         if(inpObj[i].type == "text"){
               alert(inpObj[i].value);
          }
      }
      

      此代码将提醒所有输入文本字段。

      【讨论】:

      • 你的迭代方法有潜在的危险,例如Object.prototype.gotcha = { type: "text", value: "not an actual value" }。不过这种情况比较少见:)
      【解决方案5】:

      您似乎想要进行表单验证。对于 HTML5 中的表单验证,请查看以下资源: http://www.the-art-of-web.com/html/html5-form-validation/

      基本上,您只需使用 HTML 属性即可完成一些验证,而无需使用 JavaScript。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-01
        • 2016-11-20
        • 1970-01-01
        • 2012-07-18
        相关资源
        最近更新 更多