当我按Enter键时,我需要提交表单的内容,但前提是表单没有错误消息。我建立了以下功能:
$(targetFormID).submit(function (e) {
var mess = error_m(targetDiv);
if (e.keyCode == 13 && mess.length > 0) {
e.preventDefault();
e.stopPropagation();
}
if (mess.length == 0 && e.keyCode == 13) $(targetFormID).submit();
});
在此函数中,mess变量将获取函数
error_m
返回的错误消息,其余的只是简单的代码处理,但无法正常工作。需要一些帮助!
最佳答案
按下Enter键时提交表单是默认的浏览器行为。不要惹它。只需在submit
事件中验证表单即可。
$(targetFormID).submit(function (e) {
var mess = error_m(targetDiv);
if (mess.length > 0) {
e.preventDefault();
}
});
另一个可能的问题:
targetFormID
是什么?如果实际上是包含元素ID的字符串,则需要$("#" + targetFormID).submit(/* Same function as above */);
如果它是对form元素的引用,则
$(targetFormID)
可以,但是您的变量的名称具有误导性。