Javascript 按enter键时禁用表单提交,因为我使用的是Ajax功能

Javascript 按enter键时禁用表单提交,因为我使用的是Ajax功能,javascript,html,ajax,forms,Javascript,Html,Ajax,Forms,我正在使用ajax功能。当我使用enter键选择任何建议时,表单会自动提交,因为提交按钮是自动聚焦的。是否有任何方法可以使用enter键选择ajax建议,以及使用enter键提交表单。类似于当我输入所有字段的值,然后只启用提交按钮。如何调用Ajax函数?它应该位于表单的submit事件处理程序中。然后,如果事件处理程序返回false,它将无法正常提交: <form onsubmit="doAjaxSubmit(); return false;"> ... </form>

我正在使用ajax功能。当我使用enter键选择任何建议时,表单会自动提交,因为提交按钮是自动聚焦的。是否有任何方法可以使用enter键选择ajax建议,以及使用enter键提交表单。类似于当我输入所有字段的值,然后只启用提交按钮。

如何调用Ajax函数?它应该位于表单的
submit
事件处理程序中。然后,如果事件处理程序返回
false
,它将无法正常提交:

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

...

您可以使用
.keypress()
方法检测按下了哪个键。由此,您应该能够
返回false
用于表单提交,并在表单背面的
if
语句中执行ajax操作:


如果所有字段都有值,您可以让表单的
onSubmit
返回
true
,如果没有值,则返回
false

这似乎不能解决问题,因为在自动完成字段中按enter键仍然会导致AJAX提交。但是我在onsubmit调用中使用了一个表单验证程序方法,如果有doAjaxSubmit(),我将如何调用此方法。我没有在AJAX功能中使用jquery,所以不能使用jquery.keypress()函数。