Javascript 为什么有些表单会在单击enter按钮时自动提交,而其他表单则不会?

Javascript 为什么有些表单会在单击enter按钮时自动提交,而其他表单则不会?,javascript,html,Javascript,Html,问题: 我从不指定提交按钮,因为我使用ajax提交表单,但有些表单具有自动提交功能 背景: 在我的整个应用程序中,当单击enter按钮时,我会自动提交一个表单,而在其他实例中,它不会执行任何操作。例如有时我需要捕捉“回车”按钮来获得自动提交,但有时它似乎只是自己发生的,我还没有找到模式。除了动态创建的表单似乎有自动提交功能,而静态表单没有?还有其他人有类似的问题吗 示例: 我所有的表单都删除了提交按钮,我没有指定目标或操作元素,如下所示。所有表单的数据都通过AJAX传输 <form id=

问题:

我从不指定提交按钮,因为我使用ajax提交表单,但有些表单具有自动提交功能

背景:

在我的整个应用程序中,当单击enter按钮时,我会自动提交一个表单,而在其他实例中,它不会执行任何操作。例如有时我需要捕捉“回车”按钮来获得自动提交,但有时它似乎只是自己发生的,我还没有找到模式。除了动态创建的表单似乎有自动提交功能,而静态表单没有?还有其他人有类似的问题吗

示例:

我所有的表单都删除了提交按钮,我没有指定目标或操作元素,如下所示。所有表单的数据都通过AJAX传输

<form id="ajaxForm">
<input>
</form>
<button>ButtonOutSideForm</button>

纽扣式
未寻找防止自动提交的方法


我已经知道了
“onsubmit=return false”
e.preventDefault。
我不是在寻找禁用自动提交的方法。我的问题是为什么它的存在看起来是武断的。谢谢。

正如LouD指出的那样。如果表单只包含一个输入元素,一些浏览器会自动提交。

这只是一个想法,但是您是否查看了页面上的tabindex(AJAX之前和之后)?对不起。。。当然
tabindex
。如果您只在AJAX加载的表单上有它们,我希望返回可以完成表单。如果您在AJAX上和AJAX上都有提交按钮,我不确定您会得到什么。还要注意的是,您实际上不需要提交按钮来提交表单:“因此,在没有提交按钮的表单中,如果只有一个输入,则会进行隐式提交。”你读过@Usman Mutawakil吗?这篇文章的要点是没有单一的标准。该规范指出,根据表单中字段的类型,应该有不同的功能。在您的情况下,该表单只有一个输入,因此无论您是否有提交按钮,它都将自动提交