Gernot Back: getElementsByName auf bestimmte Formulare anwenden

Beitrag lesen

Hallo Joe,

Dabei erwische ich auch gleichnamige Elemente aus verschiedenen Formularen.  Was ich eigentlich möchte ist sowas wie:
elemente = document['form_1'].getElementsByName("elemente_1");
Aber das geht ja nicht.  Als einziger Workaround fällt mir jetzt nur ein:
if (elemente[x].parentNode.name == "form_1") { ... }

Fällt euch was eleganteres dazu ein?

Ja,
if (elemente[x].form.name == "form_1") { ... }
oder
elemente = document.getElementsByName('form_1')[0].getElementsByName("elemente_1");

Was hast du vor? Willst du etwa z.B. gecheckte Radiobuttons bei erneutem Klick so wie Checkboxen wieder ungecheckt machen? Dann kannst du ja auch ihr jeweiliges Fromular über this.form ansprechen und alle ihre darin enthaltenen gleichnamigen Geschwister über this.form.elements[this.name]

Gruß Gernot