Putting Fokus auf ein Textfeld in OnChange-Ereignis
-
21-09-2019 - |
Frage
Ich versuche, es zu bekommen, so dass, wenn ein bestimmte Wert in ein Textfeld gesetzt wird, der Fokus auf dem Textfeld bleiben (und eine Warnung wird in der Produktion angezeigt). Ich versuche, dies in Firefox 3.5.7 ohne Glück zur Arbeit zu kommen.
Wie kann ich es so machen, wenn ein Textfeld ein bestimmte Wert bei onchange
ist, dass es bleibt auf der Textbox konzentriert / refocus?
Live-Beispiel ist unter http://jsbin.com/ipina
<body>
Enter your name: <input type="text" name="fname" id="fname" onchange="
if(this.value=='foo'){
this.select();
this.focus();
}
" />
</body>
Auch ich bekomme keine JavaScript-Fehler oder Warnungen in der Fehlerkonsole diesen Code auf der Ausführung.
Lösung 2
Nach Javascript onchange verschiedenen in IE und FireFox ich brauche gesetzt, um den Fokus nach dem onchange Ereignis eintritt, so dass ich mit etwas so enden musste:
Enter your name: <input type="text" name="fname" id="fname" onblur="
if(this.value=='foo'){
alert('bah');
setTimeout('document.getElementById(\'fname\').focus();document.getElementById(\'fname\').select();',0);
}
" />
Und auch ich hatte ihn zu fangen, wenn der Fokus verloren war, nicht unbedingt, wenn der Text geändert wurde, so hatte ich statt Onchange verwenden onblur.
Live-: http://jsbin.com/ofeva
Andere Tipps
Wenn das onchange
Ereignis ausgelöst wird, kann der Benutzer auf dem Textfeld fokussiert ist.
Vielleicht möchten Sie vielleicht die blur
Ereignis Wieder Fokus auf das Textfeld verwenden, wenn der Wert ‚foo‘.
Wenn Sie sofortige Ergebnisse benötigen, sollten Sie onkeyup
verwenden.
<body>
Enter your name: <input type="text" name="fname" id="fname" onkeyup="
if(this.value=='foo'){
this.select();
this.focus();
}
" />
</body>