regenfeld: Das Objekt, das keines war...

Beitrag lesen

Hi kerki, hi Graphity

Ergänzung zu kerkis Vorschlag

function InFeldEinfuegen(Button)
{
  var leeresFeld = NaechstesLeereFeld(); //nächstes leere Feld in leeresFeld speichern

if (leeresFeld)
{

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

} else { alert("Kein Rückgeabewert!"); }

}

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;

Das break kannst dir hier sparen, das wird nie im Leben ausgeführt!

}
  }

return false;

stattdessen würde ich hier (nach beendigung der For-Schleife - das heisst, wenn kein if-Statement getriggert wurde) ein return false einbauen!

}

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

Ist das Problem jetzt klar?

Ist imho einn ziemlich komplexer Vorgang der da in JS abgebildet werden soll. Es fällt mir nicht leicht, die ganzen Bedingungen + Schleifen in meinen Kopf reinzukriegen ;-)

lg regenfeld