2011-04-12 17 views
54

値を示すテキストフィールドがあります。私が望むのは、ユーザーがそのテキストフィールドに新しい値を書き込んでEnterキーを押すと、ページング操作を行うためにajax関数がトリガーされます。私はこのようなテキストフィールドがあります。jqueryでEnterキーが押された場合

<input type="text" id="page" name="page" value="<?php echo($this->pn);?> /> 

、ユーザーが任意の新しい値を書き込み、プレスが入力したときに、私は次のAjaxの機能をしたいトリガー:

 
update_ajax2({rpp:<?php echo($this->rpp);?>,pn:document.page.paged.value,filter:'<?php echo($this->filter);?>',orderby:'<?php echo($this->orderby);?>'}); 

を私が検出するために、KeyPressイベントを使用してみましたif(e.which===13)しかし、これは問題を解決しません。誰も私を導くことができますか?

+0

なぜに作用しません。 'keypress'イベントは問題を解決しますか?間違いはありますか?代わりに 'keyup'を試しましたか? – ctcherry

+0

@ctcherry 1キーで2種類の関数を呼び出します。最初にそれは私がしたい値をロードし、同じキーを押すと、テキストボックスの 'value'属性を読み込みます。 –

答えて

122
<input type="text" id="txt"/> 

$('#txt').keydown(function (e){ 
    if(e.keyCode == 13){ 
     alert('you pressed enter ^_^'); 
    } 
}) 

オンjsfiddle

+0

@experimentXありがとうございました。しかし、常にtextboxの' value'属性にある値を持っています。それは新しい価値を検出しません.... –

+0

@AwaisQarniは、あなたはフィドルを投稿することができますか? –

+2

@experimentXのおかしい? –

0

キープレスイベントが

function keyPressedTest(a) 
{ 
    a=(a)?a:window.event; 
    input=(a.target)?a.target:a.srcElement; 
    if(a.keyCode==13) 
    { 
     your_function() 
    } 
} 
1

使用このそれを試して動作するはずです、それは私の作品:)

$("#search-txt").on("keydown", function(event) { 
    if(event.which == 13) 
     return false;//do something 
}); 
関連する問題