Safari:在Enter上禁用表单提交?

时间:2009-12-15 10:06:35

标签: javascript html

以下问题:

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

这很好用。但在Safari中我可以按Enter键,而我的焦点在登录表单中。这将发送没有mainform的登录表单,所以我收到一个错误(它将我重定向到我提交请求的json的简单视图)。

是否可以禁用“按下输入按下”操作?

2 个答案:

答案 0 :(得分:23)

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

答案 1 :(得分:2)

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

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

要防止表单来自submition,请在onsubmit处理程序中返回false;