我有一个表格,我使用JQuery,我不认为我需要把代码放在这篇文章中,这个问题是非常基本的。如何在按下回车键或回车键时阻止表单提交?
但我想阻止表单提交时,人们按下Enter键或Return键。
同时,我有textareas,用户需要能够按Enter/Return键。
我有一个表格,我使用JQuery,我不认为我需要把代码放在这篇文章中,这个问题是非常基本的。如何在按下回车键或回车键时阻止表单提交?
但我想阻止表单提交时,人们按下Enter键或Return键。
同时,我有textareas,用户需要能够按Enter/Return键。
快速和肮脏的劈,但一般不是试图阻止在各个领域的按键更可靠:地址:
<input type="submit" onclick="return false;" />
在窗体的顶部。在当前浏览器中按下Enter键时,表单中的第一次提交将用作默认按钮,因此通过中断它可以防止发生Enter提交。
然后使用CSS隐藏和/或移动按钮,使其无法看到。
尽管阻止输入提交并不总是一个好主意,这是浏览器工作的标准方式,有些用户确实需要它。
谢谢,那就是我一直在寻找的。我明白,浏览器正常操作并不是一个好主意,但有时你只需要做客户需要的东西...... – BIL9000 2009-09-16 20:31:58
在文档级设置一个标志,submitform = false; 验证提交对此。 更改提交按钮的onclick处理程序中的标志。
难道你不能添加一个onsubmit属性给表单,然后检查它是否使用回车键提交?
你可以试试这个
jQuery(document).ready(function(){
validSubmit = false;
})
jQuery('myForm textarea').keypress(function(e) {
if (e.which == 13) {
validSubmit = true; // if the pressed key is enter, then allow submissions
}
})
jQuery('myForm').submit(function(){
if (!validSubmit) {
return false; //if submitting the form is not allowed, then cancel submission
}
})
这将取消任何除非输入/敲击回车键上一个textarea提交的所有文件。如果你正在使用一个按钮,你也需要添加一个函数。
jQuery('form button.validSubmit').click(function(){ //or 'form input[type="submit"]'
validSubmission = true;
})
一个很好的折衷可能是实现客户端验证。如果用户按下输入并且验证失败,表单将不会通过。如果他们按回车并验证成功,即使是意外,表单也会通过,但至少您会保持默认浏览器行为不变。 – colllin 2012-02-29 21:40:40