ich-will-urlaub: input-value per JS ändern mit IE7

Hallo,
eine kurze Frage:

Folgender Code funktioniert mit FF2+3 einwandfrei (auch keine Fehler lt. Fehlerkonsole), nicht aber im IE6+7 ...  was mach ich nur falsch?

Javascript-Funktion:

function formDisable(disable,values) {
 disableArray=disable.split(";");
 valuesArray=values.split(";");
 for(i in disableArray) {
  document.getElementById(disableArray[i]).value = valuesArray[i];
 }
}

Aufruf:

<input type="checkbox" name="user" id="user" onChange="formDisable('vorname[];nachname[];bankstelle[];email[]','Hans;Mueller;Test;test@email.com');">

Zur Info:
Die Funktion funktioniert prinzipiell einwandfrei, im IE muss man jedoch irgendwo hin klicken, erst dann erscheinen die Daten in den Eingabefeldern ... beim FF sofort nach Klick auf die Checkbox.

Weiß jemand von euch Rat?
Danke schon im Voraus!

lg Manuel

  1. <input type="checkbox" name="user" id="user" onChange="formDisable('vorname[];nachname[];bankstelle[];email[]','Hans;Mueller;Test;test@email.com');">

    Hallo nochmal ... bin grad selber über die Antwort gestolpert.

    Zitat aus Selfhtml / Javascript / Eventhandler / onchange

    Beachten Sie:
    Dieser Event-Handler wird nicht sofort bei der Änderung eines Formularfeldes aufgerufen, sondern erst nachdem ein anderes Feld nach der Änderung angewählt wurde.

    Das löst mein Problem ... ich habe jetzt als Eventhandler "onclick" ausgewählt uns siehe da, es funktioniert so, wie ich mir das vorgestellt habe.

    Schönen Tag noch!

  2. Hi,

    Folgender Code funktioniert mit FF2+3 einwandfrei

    sehr merkwürdig. Wenn ich den Code richtig verstehe, müsstest Du im Dokument Elemente mit IDs wie "vorname[]" haben, was nicht geht. IDs können "[" und "]" nicht enthalten.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  3. @@ich-will-urlaub:

    function formDisable(disable,values) {
    disableArray=disable.split(";");
    valuesArray=values.split(";");

    Du setzt in einer Funktion globale Variablen?? Schlechter Programmierstil!

    Verwende lokale Variblen:

    var disableArray = disable.split(";");  
    var valuesArray = values.split(";");
    

    Live long and prosper,
    Gunnar

    --
    Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.