Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按return/enter键时表单提交两次_Javascript_Jquery_Forms - Fatal编程技术网

Javascript 按return/enter键时表单提交两次

Javascript 按return/enter键时表单提交两次,javascript,jquery,forms,Javascript,Jquery,Forms,我使用锚作为链接,并且绑定enter/return键以提交表单,如下所示: $("form[name!=smsform]").bind("keyup", function(e){ if(e.keyCode == 13){ $(this).submit(); }); $("a[title=submit]").click( function(){ $(this).parents("form").submit(); }); 但是,当使用上述代码单击enter/return时,表单提交了两次,我需要

我使用锚作为链接,并且绑定enter/return键以提交表单,如下所示:

$("form[name!=smsform]").bind("keyup", function(e){
if(e.keyCode == 13){
$(this).submit();
});

$("a[title=submit]").click( function(){
$(this).parents("form").submit();
});

但是,当使用上述代码单击enter/return时,表单提交了两次,我需要合并这两个代码段-有人知道如何操作吗?

在调用提交之前,请尝试阻止enter键的默认操作。

通常这意味着您的链接和浏览器的默认机制都在提交表单。要防止这种情况,请在表单的
submit
事件上放置一个处理程序,以防止(停止)该事件(当您以编程方式提交表单时,不会触发该事件,因此不会阻止链接发送该事件)。

当您单击enter时,表单将自动提交,无需自己编写代码。如果要在提交之前向enterkey事件添加一些测试,则可以从回调函数返回false以防止默认浏览器操作