2012-01-17 6 views
10

可能性の重複をENTERにテキストボックスを提出:
Bind textbox to 'enter' keyJavascriptが

私はアヤックス/ jqueryのチャットを作ったし、そこには、フォームがメッセージのテキストボックスにされていないので、私が提出することができませんそのメッセージはキーボードでEnterキーで入力します.JavaScriptのテキストボックスからその値を送信する方法はありますか?

ありがとうございました。

答えて

31
document.getElementById("id_of_your_textbox").addEventListener("keydown", function(e) { 
    if (!e) { var e = window.event; } 
    e.preventDefault(); // sometimes useful 

    // Enter is pressed 
    if (e.keyCode == 13) { submitFunction(); } 
}, false); 
+0

はい、ありがとう:D – harisdev

+1

私はe.preventDefault();をスローすることを忘れていたような何か他のことをする関数を使用している場合は;フォームが送信されるのを防ぐために関数呼び出しの前に挿入します。 – DShook

+0

オリジナルはボックスに何かを入力するのを防ぎ、正しく動作するように編集しました。 – Pachonk

9
$('#textboxId').keydown(function (event) { 
    var keypressed = event.keyCode || event.which; 
    if (keypressed == 13) { 
     $(this).closest('form').submit(); 
    } 
}); 

フォームを持っていない場合は、その後、何でもAJAXで$(this).closest('form').submit();を置き換える/あなたが持っているロジックを提出します。