28. oktober 2003 - 09:36Der er
7 kommentarer og 1 løsning
Gennemløb af formfelter
Jeg har en dynamisk genereret html form med et variabelt antal radio-buttons (og text fields), disse er tilknyttet X onclick event’s der åbner/låser nogle text-felter.
På formens ’onload’ vil jeg gerne lede alle radio-buttons igennem og kalde de respektive onclick-evente! (Lidt teknisk baggrund: Det sker i en form der genereres ud fra en XML fil og et XSLT.)
Da jeg ikke ved hvor mange der er må jeg lede formens felter igennem, med fx. noget ala:
for(var i=1;i<=???;i++){ if eval(" form.radiobutton"+i+".checked”) { ... } }
.. men hvad skal jeg gennemløbe (alle formens elementer? Hvordan?), og hvordan undgår jeg at der sker fejl hvis ’radiobutton+i’ ikke findes?
Jeg har læst i et andet spørgsmål at eval er langsom, man skal nok i stedet bruge noget med form.elements[’radiobutton’+i]
erikjacobsen: Civilstand? Enlig / Gift / Samboende (3 radiobuttons) - Er der klikker af i 'Enlig' skal ex. 'ægtefælles navn' disables! Mit konkrete problem, ex.: Er ejendommen en landbrugsejendom? Ja / Nej (hvis nej skal nogle felter låses) Nu er problemet (i XSLT) at jeg ikke ved hvor mange ejendomme der er (de behandles ens), men jeg skal 'sætte op' at hvis ejendom1 er en landbrugsejendom skal feltX til ejendom1 låses, hvis ejendom2 er ... osv.
LOogist set kunne dette løses på andre (måske beder) måder men jeg ønsker at have det på en form for at undgå flere 'langsomme' kald ned i en servlet!
Ok, men hvor meget kender du til eksistensen af form-elementer. Lad mig gætte:
1) Du ved der et antal "Er ejendommen landbrugsejendom" - 0 til mange 2) De hedder noget genkendeligt "landbrug1", "landbrug2" ... 3) For "landbrug1" er det tilknyttede felter "landbrugfelta1", "landbrugfelta2"... der skal låses op eller i
.. og i øvrigt er dette er en træls (men alligevel sjov!!) opgave da javascript skrevet i en xslt fil er noget l...! (-; Da den prøver at tolke script koden!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.