単純なフォームがあります。送信ボタンを押すと、データベースにクエリを実行して基本的なテキストを返すjqueryAJAXリクエストが発生します。
それはうまくいきますが、私がやりたいのは、Enterボタンもフォームを送信することです。簡単に思えますが、私にはうまくいきません。
以下はフォームです:
<form method="post" action="" name="statusform" id="statusform">
<fieldset id="quote_reference">
<legend>Check Quote Status:</legend>
<div id="enter_ref_div">
<br />
<br />
<br />
<br />
<label for="reference" accesskey="R">Your Reference Number:</label>
<input name="ref" id="ref" type="text" size="5" value="" /> <br /><br />
<button type="button" id="checkStatus" class="calc_btn">Check Status</button><div id="loader"><img class="loader_gif" src="assets/ajax-loader.gif" /></div>
</div>
</fieldset>
<fieldset id="quote_status_div">
<legend>Your Quote Status:</legend>
<div id="status_result"></div>
</fieldset>
</form>
以下は、ボタンを押すと起動するjquery関数で、完全に機能します
$('#checkStatus').click(function() {
var refNo = $("#ref").val();
$('#loader').fadeIn('fast');
$.ajax({
type: "POST",
url: "functions/functions.php",
data: "ref_no="+ refNo,
success: function(data){
$('#loader').fadeOut('fast');
$('#quote_reference').slideUp('fast');
$('#status_result').html(data);
$('#quote_status_div').slideDown('fast');
}
});
});
今私がしたいのは、押されているリターン/エンターキーで上記の機能を模倣することです。以下は私が試しているコードです:
$(document).keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
var refNo = $("#ref").val();
$('#loader').fadeIn('fast');
$.ajax({
type: "POST",
url: "functions/functions.php",
data: "ref_no="+ refNo,
success: function(data){
$('#loader').fadeOut('fast');
$('#quote_reference').slideUp('fast');
$('#status_result').html(data);
$('#quote_status_div').slideDown('fast');
}
});
}
});
私がインターネットで見つけたすべての情報は、これがうまくいくはずだと教えてくれます。私のためにこれに何か光を当てることができますか?
ありがとう