这个问题应该由jquery disable form submit on enter回答,但该问题的答案似乎对我不起作用 - 当我在输入文本字段中按 enter 时,会发生三件事:
- 该字段的更改事件被触发。
- 表单已提交。
- 最后,上述答案中描述的 keyup 事件处理程序被触发。
现在,我可以用 keydown 替换 keyup ,然后真的不会触发提交。但该领域的变化事件也没有。
互联网上有很多链接,但大多数都在谈论复杂的场景,比如禁用 if 和 when 等......
我想要的只是在输入时禁用提交,但仅此而已。
我正在使用 jquery 1.8.0
谢谢。
编辑
我想澄清一下。我确实希望在用户单击提交输入按钮时发生提交。我只是不希望它在进入时发生。
<form id="invoiceForm">
...
<input type="submit"/>
</form>
编辑2
http://jsfiddle.net/mark69_fnd/akZG4/ - 如果提交被触发,应该看到消息
{"error": "Please use POST request"}
我不想在输入时看到此消息。仅当实际单击提交时。
编辑3
我将小提琴更改为实际提交空白页并在提交时发出警报。
编辑4
我想阻止在文本输入字段中按回车键时提交表单的默认操作。但我确实想保留文本输入的自然行为 - 触发更改事件。