2012-08-07 91 views
0

如何使用Enter键提交表单。没有提交按钮?Jquery - 使用输入键提交表格

我测试了下面的代码,但它不工作。

$("input").bind("keydown", function(event) { 
    console.log('came'); 
    var keycode = (event.keyCode ? event.keyCode : (event.which ? event.which : event.charCode)); 
    if (keycode == 13) { // keycode for enter key 
    document.getElementById('submitButton').click(); 
    // $('#frmAddPurchaseord').submit(); 
    return false; 
    } else { 
    return true; 
    } 
    }); 
<form name="frmAddPurchaseord" id="frmAddPurchaseord" action="" method="post"> 
    //Submit button 
    <input id="submitButton" type="image" name="submit" src="<?=$gCommonImagePath?>btn_save.png" /> 
</form> 

请给我推荐!

+1

在你说的问题,你没有一个提交按钮,但你做的示例代码有一个提交按钮! – rineez 2012-08-07 06:41:13

+0

对不起,我对这个问题感到困惑。 通常一个表单将在按下回车键时被提交,而表单标签内的任何输入元素都有焦点(除'textarea'外)。我认为这是默认的表单行为。你真的不需要为此做任何JavaScript。你可能在其他一些特殊情况下。你能澄清吗? – rineez 2012-08-07 06:54:51

+0

@AlphaMale - 会做 – 2012-08-07 07:05:08

回答

7

保持简单:

<form name="frmAddPurchaseord" id="frmAddPurchaseord" action="" method="post"> 
     <input type="text" name="name" onkeypress="if(event.keyCode==13) {this.submit();}" /> 
</form> 

使用jQuery:

$("input").keypress(function(event) { 
    if (event.which == 13) { 
     event.preventDefault(); 
     $("#frmAddPurchaseord").submit(); 
    } 
}); 

希望这会有所帮助。

+1

@ AlphaMale - 它的工作原理很好..谢谢 – 2012-08-07 06:51:19

+0

@ AlphaMale - 我有另一个问题..虽然我使用回车键表格值不能存储在分贝,但当我使用保存按钮(点击)的价值已经存储在分贝..得到它 – 2012-08-07 07:04:19

+0

@KarthickV你可以更新你的当前代码。包括php部分。 – AlphaMale 2012-08-07 08:09:34

1

试试这个:

$("#frmAddPurchaseord").submit(); /* the id of the form */ 

的jQuery:

$("input").bind("keydown", function(event) { 
     console.log('came'); 
     var keycode = (event.keyCode ? event.keyCode : (event.which ? event.which : event.charCode)); 
     if (keycode == 13) { // keycode for enter key 
     document.getElementById('buttonId').click(); 
       $("#frmAddPurchaseord").submit(); 
     return false; 
     } else { 
     return true; 
     } 
}); 
+0

我试过了,它不工作:)甚至console.log也不能正常工作 – 2012-08-07 06:36:55

1

尝试:

$("input").keypress(function(event) { 
    if (event.which == 13) { 
     event.preventDefault(); 
     $("#frmAddPurchaseord").submit(); 
    } 
} 
2

如果你想提交表单上的每个输入您可以将事件对文档对象绑定键,你可以使用jQuery event对象的which财产是跨浏览器:

$(document).on("keyup", function(event) { 
    if (event.which == 13) { 
    $('form').submit(); 
    event.preventDefault() 
    } 
}); 

如果没有,你可以尝试:

$('input').on("keyup", function(event) { 
    if (event.which == 13) { 
    $('form').submit(); 
    event.preventDefault() 
    } 
}); 
+0

谢谢拉莫森 – 2012-08-07 09:11:40

+0

@KarthickV不客气的男人。 – undefined 2012-08-07 09:12:12

1
<form name="frmAddPurchaseord" id="frmAddPurchaseord" action="" method="post" onkeypress="if(event.keyCode==13) {this.submit();}" > 
</form> 
1

试试这个。 DEMO

<form name="frmAddPurchaseord" id="frmAddPurchaseord" action="" method="post"> 
    <input id="submitButton" type="text" name="submit" src="<?=$gCommonImagePath?>btn_save.png" /> 

</form> 

jQuery的.submit()

$('#frmAddPurchaseord').submit(function(e){ 
    e.preventDefault(); 
    alert($('#submitButton').val()); 

});