hi,
erstens: onChange reagiert ja nur bei Benutzung der Mouse, sprich der Benutzer muss mit einem Klick irgendwo anders hin das Event auslösen. Gängige Praxis ist es aber, längere Masken mit der Tastatur, also Tab zu navigieren und schon reagiert mein Handler nicht mehr.
Das wäre mir neu. Das Element muss nur den Fokus an ein anderes Element verlieren, dann sollte onChange feuern. In welchem Browser (und ggf. mit welchem Code) beobachtest du ein abweichendes Verhalten?
zweitens: die Änderungen, die mein Skript in das Formular einträgt, sollen notfalls vom Benutzer noch geändert werden können, ich kann sie also nicht sperren. Andererseits möchte ich den User aber auch nicht grade einladen, die Felder zu ändern. Wie kann ich den Focus direkt aufs nächste auszufüllende Feld setzen?. Da gibts was mit document.form.focus(), aber ich hab es nicht zum Laufen bekommen.
focus ist keine Methode des Formulars, sondern seiner Elemente.
Du müsstest vom aktuellen Feld ausgehend (das dieses "Betreten" wurde, verrät dir der auf ihm ausgelöste Eventhandler onfocus) das nächste Feld im Formular ermitteln - und dann für dieses die focus-Methode aufrufen.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }