【问题标题】:Disable Enter Keypress on Form Submit & Change it into a tab instead在提交表单时禁用 Enter Keypress 并将其更改为选项卡
【发布时间】:2014-10-22 10:39:20
【问题描述】:

在提交表单时禁用 Enter 按键并将其更改为选项卡

如何禁用表单提交按钮上的“enter keydown”键,因为在表单中,当我按下“enter”时,它将提交我的表单。

我希望我的 enter 变成“tab”,所以当我按下 enter 时,例如在

输入文本 id="text_1",我想将其焦点更改为“small_1”(另一个文本字段),然后如果我在 small_1 再次按 Enter,我想将其焦点更改为 big_1

等等

我如何实现这一点,我尝试了 jquery autotab,但它不像我想要的那样工作。

【问题讨论】:

    标签: javascript jquery html forms


    【解决方案1】:

    添加一个方法来监视被按下的回车键(使用 jQuery):

    ("#text_1").bind("keyup keypress", function(event){
        var code = event.keyCode || event.which; 
          if (code == 13)  {
              event.preventDefault();
              $('html, body').animate({
                  scrollTop: $("#small_1").offset().top
              }, 2000);
              return false;
          }
    });
    
    ("#small_1").bind("keyup keypress", function(event){
          var code = event.keyCode || event.which; 
          if (code == 13)  {
              event.preventDefault();
              $('html, body').animate({
                  scrollTop: $("#big_1").offset().top
              }, 2000);
              return false;
          }
    });
    

    您可以使用 JavaScript 进行设置以检测元素(并在 for 循环中为 id 生成字符串),因此您不必为每个元素都执行这些操作,并且还可以更轻松地添加新元素.

    【讨论】:

    • 我无法测试您的解决方案,因为当我按下回车键时,它只是简单地提交表单,因为我的提交按钮位于页面顶部。
      标签内
    • 这应该被preventDefault() 阻止。
    • 对不起,我发现了问题。在这里解释:stackoverflow.com/questions/11235622/… 我会编辑我的答案来解决这个问题。
    • 我有一个问题,如果我在 big_1 按回车,我想专注于 small_1,但我看到你的答案 small_1 然后 small1.offset top,并且 enter 仍然没有禁用
    • 抱歉,打错了,我会改正的。
    猜你喜欢
    • 1970-01-01
    • 2011-06-05
    • 2017-05-02
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多