2012-08-07 70 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()); 

});