我有验证函数来处理值:
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();
}
});
}
我将此功能添加到点击事件中。
$('.checkall').click(function(){
validateForm(1, false);
$('.sendForm').click();
});
如果上面的validateForm
没有通过,如何停止$('.sendForm').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;
}
关于jquery - 如何停止点击事件中的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41053103/