Ich habe eine Texteingabe wo, wenn der Eintrag Alpha ist, eine Ajax-Routine folgt. Wenn der Texteintrag numerisch ist, möchte ich die Ajax-Routine vermeiden und eine andere (Nicht-Ajax-) Routine ausführen, aber NUR, wenn die Eingabetaste verwendet wird. Ich habe eine harte Zeit, um herauszufinden, ob am Ende der Eingabezeichenfolge eine Eingabetaste steht.Hat die Zeichenfolge am Ende <Enter>?
Die folgende nicht funktioniert:
thisVal=$(this).val(); // the user input value
endChar = thisVal.charCodeAt(thisVal.substr(thisVal.length))
if (!isNaN(thisVal) && endhCar == 13){
//Do the non-ajax routine
}
Ich habe auch versucht thisVal.substr (-1). Gleiches Ergebnis. Wie kann ich codieren, um die Eingabetaste zu verwenden oder nicht? Hilfe wird geschätzt.
es sei denn, dies ein Textfeld, geben Sie drücken einfügen nicht um ein Zeichen in die Texteingabe. –
Sie müssen Tastendruckereignisse erfassen und auf diese Weise nach der Taste "Enter" suchen. Siehe zum Beispiel: http://stackoverflow.com/questions/979662/how-to-detect-pressing-enter-on-keyboard-using-jquery –
Ja, Key-Stroke-Ereignisse sind, was Sie suchen. newline wird nur in Elementen hinzugefügt, die mehrzeilige Eingabe unterstützen. Siehe meine Antwort. – Iceman