- ベストアンサー
キーボードのEnterキーを押した際に何も処理せずに画面に戻す方法
- キーボードのEnterキーを押した際に、現在表示している画面に戻す方法を実装したい場合、以下のような記述を行います。
- このソースコードでは、Enterキーを押した時のイベントを取得して、現在表示しているページを再読み込みする処理を行っています。しかし、この方法では入力したフォームのテキスト情報が消えてしまうため、何も処理せずに画面に戻す方法を探しています。
- 入力した情報を消さずに何も処理をしない場合、以下のように記述することができます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
どの時点のエンターを無効にしたいのかわかりませんが formのテキスト入力中のエンターでしたら サブミットするのが仕様です。 その辺を調整したいのであれば、focusしたときに formのonSubmitをreturn falseにして、blurしたとき にクリアすればいけるかもしれません。
その他の回答 (3)
- nine999
- ベストアンサー率44% (512/1140)
私も何も処理しないのであれば、何も書かなければ良いのでは?と思ってしまいました。 何か肝要なことが抜けているのかな? 前後の処理について、何をして、何かキャンセル処理が必要なのか判らないところです。
お礼
当初何も書きませんでした。 しかし、window.document.form.submit()と同じ処理になってしまいました。 要するにEnterキーを押しても無反応という状態にしたいんです。
- ttyp03
- ベストアンサー率28% (277/960)
history.go(0); しなければいいのでは? if( event.keyCode != 13 ){ // Nothing }
お礼
ご回答ありがとうございます。 実装して試してみたのですが、 やはりwindow.document.form.submit()と同じ処理になってしまいました。
window.document.onkeydown = keytech; function keytech(){ if( event.keyCode == 13 ){ //history.go(0); return; }else { // Nothing } }
お礼
ご回答ありがとうございます。 早速試してみたのですが、 「何も処理をしない」 ではなく、 window.document.form.submit()と同じ処理になってしまいました・・。
お礼
回答ありがとうございます。 テキスト入力中のEnterキーはそのままSubmitしてしまうのですか。 勉強になりました。 そこで回答者様の回答どおりにソースに書いてみたところ、 予期したとおりに動作しました。 ありがとうございました。