我正在使用validate.js使用 jQuery 验证我的表单。如果有错误,当用户点击提交按钮时会弹出错误信息。当用户填写表单并且没有验证错误时,表单不提交,而是显示验证成功消息(用户通过验证)但表单不提交(或采取行动)。
下面是创建这些消息的我的 jQuery 的一部分:
function(errors, event) {
var SELECTOR_ERRORS = $('.error_box'),
SELECTOR_SUCCESS = $('.success_box');
if (errors.length > 0) {
SELECTOR_ERRORS.empty();
for (var i = 0, errorLength = errors.length; i < errorLength; i++) {
SELECTOR_ERRORS.append(errors[i].message + '<br />');
}
SELECTOR_SUCCESS.css({ display: 'none' });
SELECTOR_ERRORS.fadeIn(200);
} else {
SELECTOR_ERRORS.css({ display: 'none' });
SELECTOR_SUCCESS.fadeIn(200);
}
if (event && event.preventDefault) {
event.preventDefault();
} else if (event) {
event.returnValue = false;
}
如您所见,当没有错误时,SELECTOR_SUCCESS
淡入。如果没有错误,我想提交表单,不显示任何消息。我可以通过删除一行 ( ) 轻松摆脱消息传递SELECTOR_SUCCESS.fadeIn(200);
,但我还需要提交表单作为替换。由于最后几行,表单没有提交,默认操作被阻止。这种情况的最佳做法是什么?