0

我想知道验证的最佳方法是什么(以确保所有 4 个输入框都不为空)?

<html>

  <head></head>

  <body>
    <input type="text" id="i1">
    <input type="text" id="i2">
    <input type="text" id="i3">
    <input type="text" id="i4">
  </body>

</html>
4

4 回答 4

1

如果它们都是inputs 那么你可以使用document.getElementsByTagName

var allinputs = document.getElementsByTagName("input");
console.log(allinputs);
for (var i = 0; i < allinputs.length; i++) {
    if(allinputs[i].value.length == 0){
      alert('need to have something here');
       return;
    }
}

这是一个工作小提琴

于 2012-11-20T17:01:50.743 回答
0

JQuery Validate 是一种非常简单的验证字段的方法。您可以在他们的 wiki 上阅读更多相关信息:

http://docs.jquery.com/Plugins/Validation

于 2012-11-20T16:58:42.330 回答
0

HTML:

<input type="button" value="submit" onclick="submitForm()">

JavaScript:

  function submitForm()
    {
     if(validate())
      {
       alert('No blank found!!');
      }
      else
     {  alert('blank found!!');  }
    }    

    function validate()
    {
      var i1 =document.getElementById('i1').value;
      var i2 =document.getElementById('i2').value;
      var i3 =document.getElementById('i3').value;
      var i4 =document.getElementById('i4').value;
      var result = false;

      if( i1 && i2 && i3 && i4) {
         result = true;
      }
     return result;
    }
于 2012-11-20T16:59:15.800 回答
0

我的自定义方法,而不是跨浏览器:

NodeList.prototype.every = HTMLCollection.prototype.every = Array.prototype.every;

var allChecked = document.querySelectorAll('input[type=text]').every(function(el) {
    return el.value !== '';
});

if (allChecked) alert("All checked!");

跨浏览器(IE8及以上),不好笑的方式:

var inputs = document.querySelectorAll('input[type=text]');

var allChecked = true;
for (var i = 0, len = inputs.length; i < len; i++) {
    if (inputs[i].value === '') {
        allChecked = false;
    }
}

if (allChecked) alert("All checked!");
于 2012-11-20T16:59:23.287 回答