按下回车键时禁用表单提交,因为我使用的是 Ajax 功能
Posted
技术标签:
【中文标题】按下回车键时禁用表单提交,因为我使用的是 Ajax 功能【英文标题】:Disable form submission on pressing enter because i am using Ajax functionality 【发布时间】:2011-06-06 13:30:00 【问题描述】:我正在使用 ajax 功能。当我使用回车键选择任何建议时,表单会自动提交,因为提交按钮是自动聚焦的。有什么方法可以使用 enter 键选择 ajax 建议以及使用 enter 键提交表单。就像我输入所有字段的值然后只启用提交按钮。
【问题讨论】:
【参考方案1】:如果所有字段都有值,您可以让表单的 onSubmit
返回 true
,如果没有,则返回 false
。
【讨论】:
【参考方案2】:您可以使用.keypress()
方法检测按下了哪个键。从这里你应该能够return false;
提交表单并在if
声明中做你的ajax 东西:
http://api.jquery.com/keypress/
【讨论】:
我没有使用 jquery 来实现 ajax 功能,所以不能使用 Jquery.keypress() 函数。【参考方案3】:你是如何调用你的 Ajax 函数的?它应该在表单的submit
事件处理程序中。然后,如果您有事件处理程序返回false
,它将无法正常提交:
<form onsubmit="doAjaxSubmit(); return false;">
...
</form>
【讨论】:
这似乎不能解决问题,因为在自动完成字段上按回车仍会导致 AJAX 提交。 但我在 onsubmit 调用中使用一种表单验证器方法,如果有 doAjaxSubmit(),我将如何调用此方法。以上是关于按下回车键时禁用表单提交,因为我使用的是 Ajax 功能的主要内容,如果未能解决你的问题,请参考以下文章
在 Bootstrap 模式窗口中单击 Enter 并点击提交按钮时提交表单数据