禁用在表单提交上输入,但在输入上保持输入功能

时间:2014-01-08 16:56:38

标签: javascript jquery forms

我正在尝试禁用用于提交表单的enter键,并将enter键功能保留为输入字段的默认值。更好的是,在输入字段内输入后,单击Enter将实际选项卡到下一个输入。但最重要的是,我试图禁用输入提交,但保留输入字段的默认功能。

我试过不同的方法来做到这一点。下面的代码禁用输入提交,但也禁用输入字段,然后提交按钮用作选项卡。单击它一次,它进入输入字段,单击两次,它提交表单。我不想要那样。

$(document).ready(function () {
    $(document).on( 'keypress', '.product-quantity', function (e) {
        if (e.charCode==13) {
           $(this).parent('#working-space').children('.submit').trigger('click');
        return false;
    }
});
});

以下代码也是如此。单击提交进入输入字段,再次单击提交提交表单。

$(document).ready(function () {
    $('#working-space').bind("keyup keypress", function(e) {
         var code = e.keyCode || e.which;
         if (code  == 13) {
             e.preventDefault();
             return false;
    }
    });
 }); 

我想在提交时禁用输入键,但不在输入字段上禁用。更好的是,当在输入字段上单击时,输入选项卡到下一个输入。

1 个答案:

答案 0 :(得分:1)

seems to work in Chrome

$("#form1 input[type=text]").on("keypress", function (e) {
    if (e.which === 13) {
        e.preventDefault();
        e.stopPropagation();
        $(this).nextAll("input:first").trigger("focus");
    }
});