JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptでEnterキー押下時にテキストボックスの内容を送信する方法

Enterキーのキーコードは「13」です。JavaScriptでは、event.keyCode を使ってEnterキーが押されたかどうかを判定できます。キーボードイベント(keydown)をリスナーで監視し、keyCodeが13であればフォーム送信などの処理を実行する仕組みです。

以下に、テキストボックスでEnterキーが押されたときに送信処理を呼び出すサンプルコードを示します。

サンプルコード

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initialscale=1.0">
<title>Document</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<input type="text" id="name"/>
<script>
    document.getElementById("name").addEventListener("keydown",
    function(event) {
        if (!event) {
            var event = window.event;
        }
        event.preventDefault();
        if (event.keyCode == 13){
            login();
        }
    }, false);
    function login(){
        console.log("submitted successfully....");
    }
</script>
</body>
</html>

コードのポイント

  • addEventListener("keydown", ...) でテキストボックスのキー入力を検知します。
  • event.preventDefault() により、デフォルトの動作(フォームの自動送信など)を抑制しています。
  • event.keyCode == 13 の判定で、押されたキーがEnterかどうかを確認します。
  • Enterが押された場合、login() 関数が呼び出され、送信処理が実行されます。
  • 古いブラウザへの対応として、window.event へのフォールバックも用意されています。

実行方法

上記のコードを「index.html」などのファイル名で保存し、VS Codeの場合はファイルを右クリックして「Open with Live Server」を選択すると、ブラウザ上でプログラムを実行できます。

実行結果

プログラムを実行すると、画面にはテキスト入力欄が表示されます。

JavaScriptでEnterキー押下時にテキストボックスの内容を送信する方法

ここでEnterキーを押すと、開発者ツールのコンソールに以下のように送信成功のメッセージが出力されます。

JavaScriptでEnterキー押下時にテキストボックスの内容を送信する方法

なお、近年のモダンブラウザでは event.key === "Enter" を使った判定も推奨されています。keyCodeは非推奨(deprecated)となりつつあるため、新しいプロジェクトでは e.key プロパティを利用するとより安全です。

  1. JavaScriptでEnterキーの押下イベント(keypress)を検出する方法

    Webアプリケーションでは、ユーザーがEnterキーを押したタイミングで特定の処理を実行したい場面がよくあります。例えば、検索フォームで入力後に自動で検索を実行したり、チャット画面でメッセージを送信したりするケースです。 JavaScriptでは、onkeypressイベントとEnterキーのキーコード「13」を組み合わせることで、簡単にEnterキーの押下を検出できます。 基本的な実装方法 まず、HTML側のinput要素にonkeypress属性を設定し、キーが押されたときに呼び出す関数を指定します。 onkeypress=yourFunctionName 次に、JavaScript側でイ

  2. JavaScriptでテキストボックスの入力値を取得して表示する方法

    JavaScriptでは、valueプロパティを使ってテキストボックスに入力された値を取得し、innerHTMLを使うことでその値を段落(<p>要素)に表示することができます。この仕組みは、フォームの入力内容をリアルタイムに画面へ反映させたい場合などによく使われる基本的なテクニックです。 コード例 以下が実際のサンプルコードです。 <!DOCTYPE html> <html lang="en"> <head>    <meta charset="UTF-8">