web-dev-qa-db-ja.com

HTMLテキスト入力:Enterキーを押したときに送信しない

テキストフィールドであるHTML入力があります。 Enterキーを押すと、これが送信を呼び出しますが、これは正常です。

ここで、そのtextBoxでEnterがクリックされたときに何か他のことをしたいと思います。

私はそのようなことをしようとしています:

<input type="text" 
       id="first_page"  
       onPaste="" 
       onkeydown="if (event.keyCode == 13) alert('enter')" />

アラートは正常に機能しますが、送信はまだ完了しています。その後、ページがリロードされます。

私を手伝ってくれますか。

28
Miloš

書く return false;そして確認してください

25
Hkachhia

Jqueryの使用

<script>
            $('#first_page').keypress(function(e) {
              if (e.keyCode == '13') {
                 e.preventDefault();
                 //your code here
               }
            });​
        </script>

javaScriptを使用して

<input type="text" id="first_page"  onPaste="" onkeydown="if (event.keyCode == 13) { alert('enter');return false;}" />
24
Sibu

他のオプションは、onkeypressを使用することです

<input type="text" id="first_page"  onPaste="" onkeypress="if (event.keyCode == 13) {alert('enter'); return false;}" />
6
s_a

以下のスクリプトを試すことができます:

 <script>
 function checkEnter(event)
{
    if (event.keyCode == 13) 
   {
       alert('enter')
       return false;
    }
}

そして、Html:

<input type="text" id="first_page"  onPaste="" onkeydown="return checkEnter(event);" />
2
Sandeep Pathak

イベントのさらなる処理を防ぐために、falseイベントハンドラー関数でkeydownを返す必要があります。

また、次の質問が役立つ場合があります。 ユーザーがEnterキーを押してフォームを送信できないようにする

1
Xavi López

alert('enter')の後に次のコードを記述します

return false;
1
Tarun Tak

これを使って、私の中で働いた。

キーダウンで交換:

onkeydown="if (event.keyCode == 13 || event.which == 13) event.preventDefault();"
0
Abdul Afiq