我正在尝试按顺序执行一些代码,但无法使其正常工作。我想做的是:
var validate = function($form) {
$form
.find('[data-required]')
.each(function() {
if(Util.isEmpty($(this).val())) {
$(this).addClass('error');
Util.Notify(Util.ERROR, $(this).data('required'));
return false;
}
else {
$(this).removeClass('error');
}
});
};
var submit = function($form) {
$.post(actionUrl, $form.serialize(), function(response) {
//...
});
};
validate(); // must execute first with no False return
submit(); // must execute second and only if validate() not returns False
但是,即使 validate() 返回 false,我的 $.post() 也会被执行。如何在执行验证并且未返回 false 后强制执行 submit()?我用谷歌搜索并根据人们发布的内容尝试了一些示例,但没有成功。