Js验证具有相同名称的多个输入字段

时间:2014-09-24 12:45:43

标签: javascript php jquery forms validation

好的,我有多个具有相同名称的字段,我想检查是否所有字段都不为空。如果我只有一个输入,我的代码可以工作,但我不知道如何使用更多输入

<input class = "new_input" type=text name="name[]"/>
<input class = "new_input" type=text name="name[]"/>

function validation(){

    var x = document.forms["form"]["name"].value;
    if(x ==='')
    {
       $("#warning").html("Morate uneti vrednost!").css('color','red');
    return false;
    }
    else
    {
        return true;
    }

}

例如,如果只输入一个字段,验证将起作用,我想检查所有字段

3 个答案:

答案 0 :(得分:1)

使用JS,您可以执行类似

的操作
<input class="new_input" type="text" name="name[]">
<input class="new_input" type="text" name="name[]">
<input class="new_input" type="text" name="name[]">
<input class="new_input" type="text" name="name[]">
<button onclick="validate()">Validate</button>

<script type="text/javascript">
  function validate() {
      var inputs = document.getElementsByTagName("input");
      var empty_inputs = 0;
      for(var i = 0; i < inputs.length; i++) {
          if(inputs[i].name.indexOf('name') == 0) { // check all inputs with 'name' in their name
              if (inputs[i].value == '') {
                  empty_inputs++;
                  console.log('Input ' + i + ' is empty!');
              }
          }
      }

      if (empty_inputs == 0) {
          console.log('All inputs have a value');
      }
  }
</script>

答案 1 :(得分:0)

你已经标记了jquery,所以我给了一些在jquery中工作的东西 http://jsfiddle.net/8uwo6fjz/1/

$("#validate").click(function(){

    var x = $("input[name='name[]']")
    $(x).each(function(key,val){
    if($(val).val().length<=0)
    {
       $("#warning").html("Morate uneti vrednost!").css('color','red');

    }

    });

});

答案 2 :(得分:0)

试试这个:

function validate(){
    var error = 0;
    $.each( $("input[name='name[]']"), function(index,value){
        if( value.value.length == 0){
            $("#warning").html("Morate uneti vrednost!").css('color','red');   
            error = 1;
            return;
        }
    });
    if(!error){
        $("#warning").html(""); 
    }
}

请在此处查看:jsFiddle

相关问题