仅使用Javascript验证强制输入框

时间:2012-11-20 16:48:50

标签: javascript

我想知道什么是最好的验证方法(确保所有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 个答案:

答案 0 :(得分:1)

如果他们都是input s,那么您可以使用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;
    }
}

这是一个working fiddle

答案 1 :(得分:0)

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

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

答案 2 :(得分: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;
    }

答案 3 :(得分: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!");