【问题标题】:Safari: Disable form-submit on Enter? [duplicate]Safari:在输入时禁用表单提交? [复制]
【发布时间】:2010-12-26 18:08:45
【问题描述】:

以下问题:

在我的网站上,我有两种形式。一个用于登录,一个用于主要数据。 我在主窗体中只有一个提交按钮。 loginform在mainform submit上通过js提交。

这很好用。但在 Safari 中,当我的焦点位于登录表单内时,我可以按 Enter。这将发送没有主窗体的登录表单,所以我收到一个错误(它会将我重定向到我在提交时请求的 json 的普通视图)。

是否可以禁用“按回车”操作?

【问题讨论】:

标签: javascript html


【解决方案1】:

如果您说无论如何都使用 JS 提交表单中的数据,为什么不使用 <form onsubmit="return false;"> 取消浏览器的默认行为。这样,无论您按下提交按钮还是在输入中按下回车,都不会发送。 onsubmit="return false" 不应干扰从 JS 调用表单上的 submit() 方法。

【讨论】:

    【解决方案2】:

    您可以为您的登录表单添加 onsubmit 处理程序。此处理程序可以帮助您防止提交表单(例如将光标移动到表单中的下一个空白字段);

    <form onsubmit="do_some_function(); return false;" ></form>
    

    要防止表单提交,请在 onsubmit 处理程序中返回 false;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-19
      • 2022-01-11
      • 1970-01-01
      • 2018-05-02
      • 2020-11-05
      • 2012-11-19
      相关资源
      最近更新 更多