Jeg har lige kastet mig over javascript, og har fundet mange gode svar her på eksperten til at komme godt i gang. Nu har jeg så løbet panden mod muren.
Jeg har en form, som kan have et vilkårligt antal input-felter. Felterne genereres dynamisk baseret på variablen 'number', et eks. med 'number=3' er som følger:
Det virker igen. Post et svar, så du kan få nogle point. Det er kun en del af et script, som jeg er ved at lave... med andre ord, jeg kommer nok tilbage igen snart.
Ved tjek på et vilkårligt antal input felter med name, hvor nr er fortløbende for det antal tripletter af inputfelter der er valgt (ass_init+nr, ass_title+nr, ass_expire+nr).
js-funktion: function validate_assignment(number) { x=document.addAssignment; // set path nbr=0; while(nbr<number) { nbr++; init=eval('x.ass_init'+nbr); title=eval('x.ass_title'+nbr); expire=eval('x.ass_expire'+nbr); if((init.value!=""&&title.value=="")||(init.value==""&&title.value!="")) { alert('Enten ass_init eller ass_titel mangler.'); return false; } if(init.value!=""&&title.value!=""&&expire.value=="Choose date >>") // "Choose date >>" er default, hvis dato ikke er valgt { alert('ass_expire mangler for assignment.'); return false; } } }
Jeg vil tjekke for, at både init og titel er udfyldt. Hvis de er tomme skal de overses. Hvis begge er fyldte skal der vælges en dato.
Det virker. Tak for hjælpen. Post et svar, og du skal få dine point.
Ja, det er nemlig den rigtige måde at gøre det på. Eval er for langsom og "underlig".
Men du kan godt se at med
y=x.countInit;
skal der være et felt der hedder countInit. Det er der jo ikke. Men indeholder variablem countInit fx "feltnavn" vil
"x."+countInit
blive til "x.feltnavn", og med en eval blive til det rigtige. Men som sagt: en lidt snusket omvej,
Synes godt om
Ny brugerNybegynder
Din løsning...
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.