mit etwas Javascript, um zu prüfen, ob die Eingabetaste gedrückt ist:
function search() {
if(event.keyCode == 13) {
alert("should get the innerHTML or text value here");
}
}
Das funktioniert im Moment gut, aber meine Frage, wie ich den Wert in das Textfeld bekomme, ich dachte daran, einen Verweis “this” an die Funktion zu übergeben, oder wenn sie IDs hätten, könnte ich IDs verwenden, aber dann tue ich es nicht Sehen Sie, wie ich unterscheiden könnte, welches getippt wurde, was mich wieder auf das gleiche Problem zurückbringt …
Du kannst passieren this und bekomme this.value für das aktuelle Ziel/Textfeld!
– Dhaval Marthak
8. Januar 2014 um 14:39 Uhr
“sollte das innerHTML bekommen Eingaben haben kein innerHTML …
– escarello
8. Januar 2014 um 14:40 Uhr
Ja, ich hätte es zuerst versuchen sollen, aber danke für die Bestätigung.
Zuerst dachte ich, es wäre ein Fehler drin, dann habe ich es versucht: Funktioniert perfekt und ist der beste Vanilly-Ansatz, den ich finden konnte. Danke.
– Xan-Kun Clark-Davis
7. Juli 2016 um 5:29 Uhr
Nur eine schnelle Änderung für jemanden, der dies zufällig findet, in HTML5 sollte es onkeypress statt onkeydown und event.keyCode == 13 für die Eingabetaste sein.
– Hokhy Tann
7. März 2018 um 15:38 Uhr
Außerdem sollte „search(this)“ in HTML5 „search(event)“ sein, von dem Sie „ele.keyCode === 13“ ablesen, um zu erfahren, ob die Eingabetaste gedrückt wurde. Schlüsselwort ‘this’ funktioniert nicht.
Ist es nicht die jQuery-Version? Aber ich schätze, er will eine Lösung in Flugzeug-Javascript.
– brg
8. Januar 2014 um 14:46 Uhr
oder jQuery verwenden, das ist auch eine tolle Antwort, danke, ich habe mich für normales Javascript entschieden, aber das ist genauso genial, danke 🙂
– Benutzer2405469
8. Januar 2014 um 14:46 Uhr
Entschuldigung, als ich sagte “oder jQuery verwenden”, meinte ich, dass jeder eine reine Javascript-Lösung gibt und dies eine JQuery-Lösung ist, in einem scherzhaften Ton …
– Benutzer2405469
8. Januar 2014 um 14:50 Uhr
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 (“Suche”) zuweisen, gibt es keinen Grund, dies zu tun. Eine bessere Lösung wäre, so etwas zu tun:
Du kannst passieren
this
und bekommethis.value
für das aktuelle Ziel/Textfeld!– Dhaval Marthak
8. Januar 2014 um 14:39 Uhr
“sollte das innerHTML bekommen Eingaben haben kein innerHTML …
– escarello
8. Januar 2014 um 14:40 Uhr
Ja, ich hätte es zuerst versuchen sollen, aber danke für die Bestätigung.
– Benutzer2405469
8. Januar 2014 um 14:42 Uhr