2011-06-23 8 views
1

私は1ページで実行され、リロードしないアプリケーションを開発しています。私は、入力タイプのテキストだけを持つフォームを持っています、送信ボタンはありません。 onchangeイベントをインクルードした後、Enterキーを押すとonchangeイベントにバインドされた関数を実行したいが、フォームは送信されて[新しいページを読み込もうとする]。どうすればいいですか?おかげユーザー定義関数に入力/戻りキーをバインドする方法

答えて

4

は、テキストボックスにkeypressイベントをフックし、あなたのハンドラを呼び出すと、フォームの送信を防止するためのイベントをキャンセルすることができます

$("selector_for_your_text_box").keypress(function(event) { 
    if (event.which === 13) { 
     // call your `change` logic here 

     // Cancel the event 
     return false; 
    } 
}); 

Live example

+0

おかげで、魔法のように働いたデモのリンクをお試しください。 – Chibuzo

0

Yuoが上keypressイベントにバインドすることができます入力は:

$('#inputfieldid').keypress(function() { 
    alert('Handler for .keypress() called.'); 
}); 
1

これは動作するはずです:

$(function() { 
    $('#yourInput').keypress(function(event) { 
     var key = event.keyCode || event.which; 
     if (key == 13) { 
     event.preventDefault(); 
     // call your function here 
    }); 
}); 
関連する問題