2011-01-10 20 views
0

キーボードとマウスを使用してajaxの提案を処理していますが、これはEnterキー(13)以外のすべてのキーイベントをキャプチャしています。私が欲しいのは、 "選択された提案値"をテキストボックスに入れることです。これは私はkeyevent = 13を処理しています。今問題は私がキーを押しているとき、私のフォームは、 "ifブロック"に入るのではなく、提出されます(keyevent = 13)。入力ボタンを押すとフォーム提出

私はフォームを送信するためにstrutsタグを使用しています。私は、ブラウザが自動的にその場所に来る最初のタグにフォーカスを設定すると思います。これをデフォーカスするには?私は他のフィールドでフォーカスを設定しようとしましたが、トリックは機能しません。

他の方法は、私はシンプルなものを使用することができますし、動作するものを得ることができますが、システムはすでに使用しています。だから、承認と変更を得ることはかなり忙しいです。

この問題をどのように解決するか。私に提案してください。

おかげ

+1

コードのサンプルを追加できますか?私が理解しているところから、あなたは基本的に、「Enter」をクリックするとフォームが送信されるのを防ぐ必要があります。これは 'event.preventDefault();'を使って実現できます。https://developer.mozilla.org/en/DOM/event.preventDefault – Dan

+0

いくつかのコードを見る必要があります。送信ボタンを –

+0

コードのためにします。イベント処理用とコード:\t \t// ENTERキーの処理 \t \tケース13: \t \t \t handleSelectedItem(obj、container、cur); \t \t \t ev.cancelBubble = true; \t \t \t break; –

答えて

0

は、提出のイベント処理をキャンセルするreturn false;しようか?

+0

あなたはこれを返すべき場所をもっと詳しく教えてください –

+0

申し訳ありませんが、私はこの回答を投稿したときにあなたのコードを見ませんでした - あなたがonsubmitメソッドからfalseを返した場合、私はストラットについては分かりませんが、 'method.saveVisaRequestForRMG'からfalseを返そうとすることができます。 –

0

あなたが何かありますか:あなたはjqueryの使用している場合は、プレスイベントを入力して処理するための簡単な方法がある

onsubmit="return formValidator()" 
+0

私はこれを見たことはありませんでしたが、そこにあるはずです –

2

を:

$(window).keypress(function(e) { 
    if(e.keyCode == 13) { 
     e.preventDefault(); 
     alert('Enter!'); 
    } 
    }); 

あなたは何でも行うことができますデフォルトのイベントを防止した後、こんにちはなどと言って、サーバーにデータを投稿したいと思ってください:)

関連する問題