2013-03-04 41 views
1

我正在使用外部验证库来检查是否已填写或未填写字段。这工作正常。jQuery验证和提醒

然后我想要显示一个提示,当所有的字段填写正确并且用户点击提交。

下面的代码:

<select id="selectsizes" class="required"> 
    <option></option> 
    <option>1</option> 
    <option>2</option> 
</select> 
<input type="Text" id="txtName" name="Name" value="" class="required"> 

$(document).ready(function(){ 
    $("#Form").submit(function() { 
    if ($('.required').val() != "") { 
     alert("Thank you."); 
     return false; 
    } 
    }); 
}); 

我在原来的形式更多的领域,这只是为了说明的缘故。 如果我从select中选择一个选项或者填写输入字段,则在按下提交时警报将触发。在所有验证错误消失之前,它不应该开火。

回答

0

通过所有的输入创建一个变种,例如var error = false;

周期和选择,如果你有未充满了var设置为true error = true;

最后输入:

if (!error) { 
    alert("Thank you."); 
    return false; 
} 

您可以通过以下方式循环访问所需的字段:

$('.required').each(function() { 
    //DO STUFF 
    if ($(this).val() == "") { 
    error = true; 
    } 
}); 
1

你需要检查每个输入单独的值,然后检查是否他们都有一个值等等,像这样:

$(document).ready(function() { 
    $("#Form").submit(function() { 
     var val = $.map($('.required'), function (el, i) { 
      if (!$.trim(el.value).length) return el; 
     }); 
     if (!val.length) { 
      alert("Thank you."); 
      return false; 
     } 
    }); 
}); 

FIDDLE

+0

非常感谢!这正是我所期待的,它的工作原理非常完美。 – user2132222 2013-03-05 08:38:32