Peter Seliger: Index eines Formular-Elementes herausbekommen

Beitrag lesen

hallo frank;

Die Felder des Formulars wird dynamisch in Abhängigkeit von
einer eingegebene Zahl n-mal generiert/angezeigt.
Folge:
alle haben dadurch den gleichen Namen, was aber kein Problem ist,
da ich über eine Schleife die Felder auslesen kann.

die elemente deines formulars muessen nicht zwangslaeufig den
   gleichen namen erhalten;
   Dein scriptauszug legt nahe, dass Du die volle kontrolle ueber
   das dynamische erzeugen eines formulars besitzt - dieses script
   sollte deshalb wie folgt umgeschrieben werden:

geaenderter Auszug aus dem Quellcode:

for (i=0;i<anzahl;i++)
   {
   document.writeln("<input type='Text' name='input_"+i+"' size='5'>");
   document.writeln("<input type='Checkbox' name='checkbox_"+i+"' value='ja' onclick='check_cb(this);'>Texterlaeuterung");
   ...
   }

Eines dieser Felder ist eine Checkbox. Dessen Eigenschaft checked
soll aber nur gesetzt werden wenn eine bestimmte bedingung erfüllt
ist. Dabei soll nur diese Checkbox checked- oder nicht-checked
gesetzt werden können. Das heißt ich muß wissen welche Nummer diese
Checkbox in dem Formular hat.

jetzt weisst Du es und musst nur noch eine funktion schreiben, die
   die nummer N des feldes "input_N" (das mit der richtigen bedingung)
   herausfindet und die dazugehoerige checkbox "checkbox_N" auf
   checked = true setzt;

ein anderer loesungsansatz liegt ebenfalls in muster der
   formulargenerierung versteckt:
   alle formularelemente die vom typ input sind koennten mit
   geraden zahlen von [0] bis [2*i]  benannt werden,
   alle formularelemente vom typ checkbox werden dann mit
   ungeraden zahlen von [1] bis [2*(i+1)] benannt;

mit diesem muster kannst Du ebenfalls einem eindeutig
   benannten input die dazugehoerige eindeutig benannte
   checkbox zuordnen;

falls Du nicht weisst, was ich meine poste zurueck - ich schau noch mal vorbei;

tschuess - peter - pseliger@gmx.net