【问题标题】:Disable enter on form submit but keep enter functioning on inputs在表单提交时禁用输入,但在输入时保持输入功能
【发布时间】:2014-01-08 16:56:37
【问题描述】:

我正在尝试禁用用于提交表单的回车键并将回车键功能保留为输入字段的默认功能。更好的是,在输入字段中键入后,单击回车实际上会跳到下一个输入。然而,最重要的是,我试图在提交时禁用输入,但保留输入字段的默认功能。

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

$(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;
    }
    });
 }); 

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

【问题讨论】:

标签: javascript jquery forms


【解决方案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");
    }
});

【讨论】:

  • 效果很好。我只是在将它实施到我的项目中时遇到了麻烦
  • input[type=text] 更改为input[type=text], input[type=number](等)。我留给你弄清楚如何找到下一个要关注的元素。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 2010-12-26
  • 2023-01-16
  • 2022-01-11
  • 2019-06-29
  • 1970-01-01
  • 2016-05-11
相关资源
最近更新 更多