web-dev-qa-db-ja.com

Enterキーが押されたときに入力テキストの値を取得します

私はこれを試しています:

<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
<input type="text" placeholder="some text" class="search" onkeydown="search()"/>

enterキーが押されているかどうかを確認するJavaScriptを使用します。

function search() {
    if(event.keyCode == 13) {
        alert("should get the innerHTML or text value here);
    }
}

これは今のところうまくいきますが、テキストフィールド内の値を取得する方法についての質問、関数に参照「this」を渡すことを考えていました。入力されたものを区別して、同じ問題に再び戻る方法を参照してください...

25
user2405469

これを試して:

<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>  
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>

JSコード

function search(ele) {
    if(event.key === 'Enter') {
        alert(ele.value);        
    }
}

デモリンク

43
ram
$("input").on("keydown",function search(e) {
    if(e.keyCode == 13) {
        alert($(this).val());
    }
});

jsFiddleの例: http://jsfiddle.net/NH8K2/1/

8
Alexander

イベントオブジェクトを使用するだけ

function search(e) {
    e = e || window.event;
    if(e.keyCode == 13) {
        var elem = e.srcElement || e.target;
        alert(elem.value);
    }
}
5
epascarello

JavascriptコードをHTMLに配置しないでください。これらの入力にクラス(「検索」)を与えるため、これを行う理由はありません。より良い解決策は、このようなことをすることです:

$( '.search' ).on( 'keydown', function ( evt ) {
    if( evt.keyCode == 13 )
        search( $( this ).val() ); 
} ); 
1
Gabin

このようなもの(テストされていませんが、動作するはずです)

これをHtmlのパラメーターとして渡します。

<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>

そして、検索機能に渡されたパラメーターの値を警告します。

function search(e){
  alert(e.value);
}
0
Tim Sommer