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.

War es hilfreich?

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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top