【问题标题】:Return Key: How to focus the right form返回键:如何聚焦正确的形式
【发布时间】:2011-05-02 11:53:32
【问题描述】:

我在同一页面上有多个表单: 我想知道当用户按下“返回键盘键”时是否有任何方法可以提交正确的表单?

谢谢

【问题讨论】:

    标签: html forms keyboard submit return


    【解决方案1】:

    这个怎么样:

    <form id="form1">
        <input type="text" />
    </form>
    <form id="form2">
        <input type="text" />
    </form>
    
    <script type="text/javascript">
        for (var i = 0; i < document.forms.length; i++) {
            document.forms[i].onkeypress = function(e) {
                e = e || window.event;
                if (e.keyCode == 13)
                    this.submit();
            }
        }
    </script>
    

    基本上循环遍历每个表单,为每个检查输入(keycode == 13)并在该表单上调用提交的表单连接 onkeypress 事件。

    【讨论】:

      【解决方案2】:

      检查哪个元素具有焦点。检查哪个表格是他的父母。执行提交。

      document.onkeypress = function() {
      
          var element = activeElement.parentNode;
      
          while(element.nodeType != /form/i) {
              element = element.parentNode;
          }
      
          element.submit();
      }
      

      【讨论】:

        【解决方案3】:

        我认为正确的形式是指用户正在处理的形式!

        嗯,这不是最干净的方式,但如果您真的想以这种方式工作,您可以指定表单边界,并且您可以在用户滚动从一个表单到另一个表单时将焦点设置到适当的提交按钮。

        使用更简洁的版本,您可以促使用户选择适当的选项并引导他们在单个表单上工作(一旦您获得有关用户将要工作的足够信息,可能会隐藏不相关的表单)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-12-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-07-22
          • 2015-02-03
          • 2018-01-10
          • 1970-01-01
          相关资源
          最近更新 更多