当我按 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
返回的错误消息,其余的是简单的代码条件,但它不起作用。
需要一些帮助!
答案 0 :(得分:7)
按下 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 */);
如果它是对表单元素的引用,那么$(targetFormID)
就可以了,但是你的变量被误导了。