Forms 按'自动提交表单;输入';

Forms 按'自动提交表单;输入';,forms,Forms,我有一个非常简单的表单,只有一个自动完成小部件。没有提交按钮。我希望表单能够在用户从autocomplete中选择建议时提交表单,但在其他情况下不提交。问题是,每当我按enter键时,表单会自动提交、填写或不填写。但是,如果我添加了一个隐藏的文本输入框,它就解决了这个问题,我只能通过从autocomplete中选择一个建议来提交表单(通过这个机制提交由一些jQuery处理)。有没有更“优雅”的方式来关闭“返回时提交”功能?添加一个我实际上不需要的隐藏文本输入看起来绝对不是这样做的“正确”方法,而

我有一个非常简单的表单,只有一个自动完成小部件。没有提交按钮。我希望表单能够在用户从autocomplete中选择建议时提交表单,但在其他情况下不提交。问题是,每当我按enter键时,表单会自动提交、填写或不填写。但是,如果我添加了一个隐藏的文本输入框,它就解决了这个问题,我只能通过从autocomplete中选择一个建议来提交表单(通过这个机制提交由一些jQuery处理)。有没有更“优雅”的方式来关闭“返回时提交”功能?添加一个我实际上不需要的隐藏文本输入看起来绝对不是这样做的“正确”方法,而且可能是一个依赖于浏览器的修复程序(我使用的是Chrome)。

输入时提交”是一个特定于浏览器的实现。因此,我认为我们无法从JS中关闭它


您可能可以通过在jQuery中监听“keypress”事件来强制解决这个问题,但这似乎是一种高压手段


另一种可能的方法是使用HTML5数据属性(理论上,从未这样做过)。i、 在你的表格上,有

<form data-ready="false">
</form>

然后,当您选择建议项时,将该属性设置为“true”


在表单提交处理程序中,在决定是否允许表单提交之前检查该属性,或者使用.preventDefault()停止表单提交到服务器。

能否提供上下文以了解更多详细信息,很容易给出答案?很抱歉,您所说的上下文到底是什么意思?你想要代码吗,我想要这个功能的确切目的是什么,等等。?