kerki: Das Objekt, das keines war...

Beitrag lesen

Hallo !

Sorry, dachte, ich hätte weiter oben exakt darauf hingewiesen... irren ist menschlich, entschuldige

Sauer war ich doch gar nicht wirklich, aber wir hätten uns viel Raterei ersparen können, wenn du gleich gesagt hättest bei welcher Gelegenheit die Fehlermeldung auftritt. So war ich ja zunächst froh, überhaupt einen Fehler gefunden zu haben, wenn auch einen falschen Fehler. :-)

richtig = der button der gerade geprüft wird, ich sehe also einen namen nach dem anderen als alert. mir ist aber aufgefallen, daß alert(Feld.value) immer nur einen Wert hat, d.h. die erste for-Schleife (die mittlerweile übrigens auch bis 100 geht) wird also garnicht weiter hochgesetzt :-(

Jetzt aber 'mal gaaanz langsam. Ich hör immer nur 100! *g*

100 hab ich genommen, weil ich denke, daß da nie 100namen stehen werden bzw. nie 100 felder auszufüllen sind... sollte doch kein prob darstellen, wenn er zu hoch zählt... oder? *hoff*

Klarer Fall von falsch gedacht. Nochmal der Code:

function ButtonAktivieren()
 {
 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 nicht leer ist, wird
  {
   for(ArztName=0;ArztName<100;ArztName++)

Diese Schleife läuft doch immer bis 100, oder sehe ich das falsch?

{
    var NameButton = document.forms[0].elements[ArztName];
     alert(NameButton);

Nein tue ich nicht, denn wenn man hier alert(NameButton.value); einsetzt, bekommt man die Namen aller Ärzte serviert, und beim 83. (wenn ich richtig gezählt habe) gibt's die Fehlermeldung, weil es den Arzt gar nicht gibt und damit auch kein Formularelement No. 83 -> kein Objekt -> eine Fehlermeldung.

if(Feld.value == NameButton.value) //der Wert dieses Feldes mit den Buttons verglichen
    {
     NameButton.disabled = true;
    }
    else
    {
     NameButton.disabled = false;
    }
   }
  }
 }
 }

Ich weiß nicht ob die Schleife (auch mit den entsprechend richtigen Werten) so in ihrer Form ideal ist. Ich habe etwas Angst, dass die Sache etwas langsam geraten könnte: 37*82=3034 Vergleiche. Aber probiere es einfach mal aus.

Gruß,

kerki