kerki: Das Objekt, das keines war...

Beitrag lesen

Hallo !

Es läuft insofern nicht, daß ein alert(NameButton.value); mir den Wert anzeigt, aber eine Fehlermeldung behauptet NameButton has no properties (NC4.7?) bzw. "Value is NULL oder kein Objekt" (MSIE 6).

Ich bekomme mit dem IE 6 erst beim Versuch das allerletzte arzt-Feld auszufüllen eine Fehlermeldung, vorher nicht.

Die Fehlermeldung lautet:

'undefined' ist Null oder kein Objekt

Meines Erachtens ergibt sich dieser Fehler wie folgt:

Nach Drücken eines Buttons aus der rechten Liste wird zunächst die Funktion

function InFeldEinfuegen(Button)
 {
  var leeresFeld = NaechstesLeereFeld(); //nächstes leere Feld in leeresFeld speichern
  leeresFeld.focus(); //leeres Feld focussieren
  leeresFeld.value = Button.name; //nächstes leere Feld mit Wert füllen
  if(Button.value != "leer")
  {
   Button.disabled = true;
  }
 }

aufgerufen, die selbst dann die Funktion

function NaechstesLeereFeld() //nächstes leere Feld suchen
 {
  var ArztNummer = 0;
  for(ArztNummer=1;ArztNummer<37;ArztNummer++) //alle input-Felder Namens arzt# werden durchsucht
  {
   var Feld = parent.Formular.document.forms["ETPFormular"].elements["arzt" + ArztNummer];
   if(Feld.value == "") //falls Feld leer ist, wird
   {
    return Feld; //der Feldname zurückgegeben und die Fktn beendet
    break;
   }
  }
 }

aufruft.

In letzterer soll geprüft werden, welche Eingabefelder bereits ausgefüllt wurden, und als Objekt 'Feld' das nächste freie Eingabefeld zurückgegeben. Dies klappt auch bei den ersten 36 Feldern wunderbar, nur beim letzten, beim 37. geht es schief (Fehlermeldung s.o.).

Die Funktion prüft wieder die Felder 1 bis 36, keines davon ist leer und die Funktion liefert NIX zurück. Die aufrufende (also die erstgenannte) Funktion will aber ein leeres Feld und nicht NIX=undefined ;-) -> ergo Fehlermeldung.

Ich hoffe, ich hab' jetzt keinen Müll erzählt.

Ist das Problem jetzt klar?

Ja, ich erinnere mich dunkel. ;-)

Gruß,

kerki