Hi
Was ist daran umständlich, die im DOM Level 1 vorgesehene Methode für den Formularzugriff zu benutzen?
Naja, wenn ich über die Namen direkt zugreifen könnte ... also document.forms.formname.elements... (oder halt document.forms['formname'].elements...) brauch ich in einer Schleife nur bis zur Anzahl der entsprechenden Forms hochzählen und greife nur auf die Formulare zurück, die mich wirklich interessieren ... also alle, die mit "formname" beginnen, z.b. "formname1", "formname2", "formname3" ... du verstehst was ich meine.
Wenn ich aber die Indizes verwende ... also von 0 bis document.forms.length erwische ich ja alle im Dokument vorhandenen Forms und nicht nur die, die ich wirklich will.
Ich muss also zusätzlich noch prüfen ob denn der Name des derzeitigen Formulars zu meinen gewünschten Formularen passt.
form = "formularname";
ende = form.length;
for(i=0; i<document.forms.length; i++)
{
if(document.forms[i].name.substr(0, ende) == form)
{
mache was du machen sollst
}
}
Diese substr-Geschichte könnte ich mir sparen.
Gut, es ist nicht viel aber immerhin wieder mehr was der Browser machen muss.
Das Gebastel mit eval() erscheint mir um einiges umständlicher und fehlerträchtiger ...
Wieso ... hat doch bestens funktioniert ;-)
Außerdem würde ich eval() nichtmal brauchen:
form = "formularname";
anz = anzahl der entsprechenden gewünschten Formulare, welche beim anlegen einer neuen Zeile entsprechend hochgezählt werden würde;
for(i=0; i<anz; i++)
{
form2 = form+i;
alert(document.forms[form2].name);
}
Naja, ist im Endeffekt wohl gehupft wie gesprungen.
mfg
Knusperklumpen