Ich versuche das:
<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
mit etwas Javascript prüfen, ob die Eingabetaste gedrückt ist:
function search() {
if(event.keyCode == 13) {
alert("should get the innerHTML or text value here);
}
}
dies funktioniert im Moment einwandfrei, aber bei meiner Frage, wie der Wert in das Textfeld eingegeben werden kann, habe ich darüber nachgedacht, einen Verweis "this" an die Funktion zu übergeben Mal sehen, wie ich zwischen den getippten unterscheiden kann, um wieder das gleiche Problem zu lösen ...
Versuche dies:
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>
JS-Code
function search(ele) {
if(event.key === 'Enter') {
alert(ele.value);
}
}
$("input").on("keydown",function search(e) {
if(e.keyCode == 13) {
alert($(this).val());
}
});
jsFiddle-Beispiel: http://jsfiddle.net/NH8K2/1/
Verwenden Sie einfach das Ereignisobjekt
function search(e) {
e = e || window.event;
if(e.keyCode == 13) {
var elem = e.srcElement || e.target;
alert(elem.value);
}
}
Sie sollten keinen Javascript-Code in Ihren HTML-Code einfügen, da Sie diesen Eingaben eine Klasse zuweisen ("Suche"). Es gibt keinen Grund, dies zu tun. Eine bessere Lösung wäre, so etwas zu tun:
$( '.search' ).on( 'keydown', function ( evt ) {
if( evt.keyCode == 13 )
search( $( this ).val() );
} );
So etwas (nicht getestet, sollte aber funktionieren)
Übergeben Sie dies als Parameter in HTML:
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>
Und alarmieren Sie den Wert des Parameters, der an die Suchfunktion übergeben wird:
function search(e){
alert(e.value);
}