没有添加jQuery输入检查的类

时间:2017-07-15 13:07:05

标签: jquery submit

再次,我,

我正在使用:

    <script type="text/javascript">
$( document ).ready(function() {
    $('.check').submit(function() {

    var abort = false;

        $('.required').each(function() {
            if ($(this).val()==='') {
              $(this).addClass(' error');
              abort = true;
            }
        })
        return abort;
        })
});
</script>

示例HTML

<form class="check" style="font-family: Arial;" action="contact.php" method="post">
<input class="wipe required" style="font-family: Arial;" type="text" name="name" value="Full Name" />
<more input fields as above>
<more input fields as above>
<more input fields as above>
<more input fields as above>
<input class="right" style="font-family: Arial;" type="submit" value="SEND" /></form>

这将是更大的表单验证的一部分,但是没有添加错误类(尽管没有填写具有所需类的字段)。表单只是尝试提交 - 如果我添加event.preventDefault();然后表单没有提交,但仍然没有添加错误类?

jQuery在标记

之前添加

1 个答案:

答案 0 :(得分:1)

添加该类工作正常,但return逻辑是向后的。

如果您想阻止提交,则需要返回false ...或致电event.preventDefault()

 $('.check').submit(function() {

    var proceed = true;

    $('.required').each(function() {
      if ($(this).val() === '') {
        $(this).addClass(' error');
        proceed = false;
      }
    });   
    return proceed;
  });
.error {  
  background: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="check" style="font-family: Arial;" action="contact.php" method="post">
  <input class="wipe required" style="font-family: Arial;" type="text" name="name" value="Full Name" />
  <input class="wipe required" style="font-family: Arial;" type="text" name="age" value="" />
  <input class="right" style="font-family: Arial;" type="submit" value="SEND" />
</form>