【问题标题】:Why this form is submitting when hitting Enter in a field?为什么在字段中按 Enter 时提交此表单?
【发布时间】:2017-01-26 04:21:29
【问题描述】:

我在“departments.name_text”字段中按回车键时提交了此表单。它不应该!我在 onKeyUp 之后返回 false...任何 cmets 为什么会发生这种情况?

<form id="departments_form" method="POST" name="departments_form" action="app-forms.php">
    <input id="departments.name_text" placeholder="Department Name" onKeyUp="alert(event.keyCode); return false;">
    <select name="departments.name" id="departments.name" size="6" ondblclick="this.remove(this.selectedIndex);">
    </select>
</form>

【问题讨论】:

    标签: html forms submit onkeyup


    【解决方案1】:

    在下面的代码中添加return语句。

    为了捕捉 return 语句,你必须把 return ondblclick()。

    <select name="departments.name" id="departments.name" size="6" ondblclick="return this.remove(this.selectedIndex);">
        </select>
    

    【讨论】:

      【解决方案2】:

      在您的示例中,您使用的是 onKeyUp。表单提交后的 onKeyUp 触发器。这样你就不能通过onKeyUp阻止提交动作。

      您应该使用 onKeyPress 而不是 onKeyUp。

      onkeypress="return event.keyCode != 13;"
      

      但是,在某些浏览器中它不支持 onKeyPress

      你可以使用jQuery代码来阻止表单提交

      $(document).on("keypress", function(event) {
          if (event.keyCode == 13) {
               event.preventDefault();
          }
      });
      

      【讨论】:

      • 我没有使用 jQuery...任何使用普通 JS 的解决方案?
      猜你喜欢
      • 1970-01-01
      • 2016-07-08
      • 2011-02-27
      • 1970-01-01
      • 2011-05-29
      • 1970-01-01
      • 2022-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多