如何在click事件中停止一个函数

时间:2016-12-09 04:26:33

标签: jquery

我有验证函数来处理值:

function validateForm() {
    $(".contact-form-email").each(function() {
        var title1 = this.value;
        if (!isEmail(title1)) {
            $(this).closest('.form-section').find('.message-show').show();
        } else {
            $(this).closest('.form-section').find('.message-show').hide();
        }
    });
    $(".eachrequire").each(function() {
        var title = this.value;
        if (title == "" || title == null) {
            $(this).closest('.form-section').find('.message-show').show();
        } else {
            $(this).closest('.form-section').find('.message-show').hide();
        }
    });
}

我将此功能添加到click事件中。

  $('.checkall').click(function(){
                  validateForm(1, false);
                  $('.sendForm').click();
  });

如果未通过上述$('.sendForm').click(),如何停止validateForm

非常感谢。

2 个答案:

答案 0 :(得分:2)

使验证函数分别根据通过或失败返回true / false值,然后根据它触发click。

 $('.checkall').click(function(){
     var isValid = validateForm();
     if(isValid)
       $('.sendForm').click();
  });

您的验证功能

function validateForm() {
    var isValid = true;
    $(".contact-form-email").each(function() {

        var title1 = this.value;
        if (!isEmail(title1)) {
            $(this).closest('.form-section').find('.message-show').show();
            isValid = false;
            return false; // breakout of each function
        } else {
            $(this).closest('.form-section').find('.message-show').hide();
        }
    });

    //Check for next validation
    if(isValid)
    {
      $(".eachrequire").each(function() {
         var title = this.value;
         if (title == "" || title == null) {
            $(this).closest('.form-section').find('.message-show').show();
            isValid=false;
            return false; // breakout of each looping function
         } else {
            $(this).closest('.form-section').find('.message-show').hide();
         }
      });
    }
  return isValid;
}

答案 1 :(得分:1)

在点击事件

中使用event.stopPropagation()

https://api.jquery.com/event.stoppropagation/

相关问题