私は単純なテキストボックスとボタンタイプの入力をページに持っています。Enterを押すと常に送信フォーム
<input id="sText" type="text" />
<input id="sButton" type="button" value="button" />
jQueryを使用してボタンのクリックをキャプチャします。
$("[id$=sButton]").click(function() {
...do Stuff
});
上記のコードは、手動でボタンをクリックしている限り正常です。 "enter"キーを使ってボタンをクリックしたい時に問題に遭遇しました。私が何をしていても、Enterキーがデフォルトの送信機能を実行するのを防ぐことはできません。
私がした最初のことは、入力タイプを「送信」から「ボタン」に変更することでした。
は私が入力したキーイベントをキャプチャするためにjQueryを使用してみましたonsubmit="return false;"
に、フォームのonSubmit検証を設定してみました:
$("#sText").keyup(function (event) {
if (event.keyCode == 13) {
alert("Enter!");
// $("#sButton").click();
}
});
私はフォームを送信していますように私は、Enterキーを押すたびに、それはです、ページ全体がリフレッシュされます。上記のjQueryコードは "Enter"キーストロークをキャプチャしますが、フォームはまだ送信してページを更新します。
私は何が起こっているのか分かりません。
+1 keydownの提案について –
"event.preventDefault()"の追加に加えて、 "keyup"を "keypress"に変更しなければならず、keyupもkeydownも機能しませんでした。ありがとう! – SharpBarb
Enterキーチェックとボタンをボタンタイプとして維持するのは、送信に戻す代わりに、たくさんの余分なコードを使用しているようです。 –