在keyCode上提交表单==“输入”(13)

时间:2012-01-10 12:36:33

标签: javascript jquery keycode

当我按 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返回的错误消息,其余的是简单的代码条件,但它不起作用。

需要一些帮助!

1 个答案:

答案 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)就可以了,但是你的变量被误导了。

相关问题