我在一个网站上有一个调查,用户按下回车键(我不知道为什么),不小心没有点击提交按钮就提交了调查(表单),这似乎有些问题。有办法防止这种情况吗?
我在调查中使用HTML, PHP 5.2.9和jQuery。
我在一个网站上有一个调查,用户按下回车键(我不知道为什么),不小心没有点击提交按钮就提交了调查(表单),这似乎有些问题。有办法防止这种情况吗?
我在调查中使用HTML, PHP 5.2.9和jQuery。
当前回答
这将禁用页面上所有表单的输入键,并且不阻止在文本区域输入。
// disable form submit with enter
$('form input:not([type="submit"])').keydown((e) => {
if (e.keyCode === 13) {
e.preventDefault();
return false;
}
return true;
});
其他回答
我有一个类似的问题,我有一个网格与“ajax textfields”(Yii CGridView),只有一个提交按钮。每次我在文本框中搜索并点击输入提交的表单。我必须对按钮做一些事情,因为它是视图之间唯一的公共按钮(MVC模式)。我所要做的就是删除type="submit",并把onclick="document.forms[0].submit()
给表单一个'javascript:void(0);'的动作似乎可以做到这一点
<form action="javascript:void(0);">
<input type="text" />
</form>
<script>
$(document).ready(function() {
$(window).keydown(function(event){
if(event.keyCode == 13) {
alert('Hello');
}
});
});
</script>
这是完美的方式,你不会从你的页面重定向
$('form input').keydown(function (e) {
if (e.keyCode == 13) {
e.preventDefault();
return false;
}
});
我想添加一些CoffeeScript代码(没有经过现场测试):
$ ->
$(window).bind 'keypress', (event) ->
if event.keyCode == 13
unless {'TEXTAREA', 'SELECT'}[event.originalEvent.srcElement.tagName]
event.preventDefault()
(我希望你喜欢这个“除非”从句中的妙招。)
没有提交按钮也行。只需在输入(type=button)中放入一个脚本,如果希望它提交表单中的数据,则添加eventListener。
而是使用这个
<input type="button" onclick="event.preventDefault();this.closest('form').submit();">
而不是用这个
<input type="submit">
注意:这里需要onclick在点击时实际提交表单。默认情况下,type="button"不足以提交。