16. april 2003 - 10:41Der er
18 kommentarer og 1 løsning
Tilgå textfelt
Hej
Har følgende problem. Jeg skal via et javascript ha' tilgang til et textfelt i et HTML doc hvor jeg dynamisk navngiver hvert felt fx.
1Reviewer1 1Reviewer2 1Reviewer3 osv.
Jeg skal nu i et javascript ha fat i disse felter så jeg kan validere værdien af dem:
count = form.hiddencount.value; // Henter antallet af felter ind i en variabel
for (k=1; k<=count; k++) { name = "1Reviewer"+k; if (form.name.value == "") { alert("FEJL!!!"); return (false); } }
Men som i nok kan regne ud virker det ik, da den tar "name" som et felt i HTML doc'et istedet for selve variablen. Hvilket betyder den ik leder efter et felt som hedder "1Reviewer1" .
Det hjælper måske, Søren. Men meget sandsynligt ikke ... det vil kræve, vi kan se koden at komme med et bud, der virker :) Hvad indeholder 'form', f.eks? Og, hvad betyder: "... hvor jeg dynamisk navngiver hvert felt"? Har de fået et name eller et id?
Gode spørgsmål, det ville være rart at få opklaret med noget kode.
ole >> måske - og måske ikke --- Hvad jeg har forstået på teksten er at der åbenbart skulle være en form , som i js har fået det briliante variabel-navn "form" [sic!] ... Derudover også, at der åbenbart skulle være nogle tekstfelter som hedder 1Reviewer# , hvor # kan være fra 1 til count
Lige præcis hvor den "dynamiske navngivning" kommer ind henne ved jeg ikke - derimod ved jeg at ovenstående virker, både hvis der er brugt name="1Reviewer1" og id="1Reviewer1"... så hvis jeg gætter rigtigt, så er min kode i 15:15 den, som han skal bruge...
Men jeg er da også interesseret i at se noget mere kode --- Vi er vel alle nysgerrige :-)) /Søren
hej... I har vist fat i det rigtige. Formen hedder form (yep genialt(c;) og tekstfeltet hedder 1Reviewer#... hvor # kan være fra 1 til count. (Det er det jeg mener med at tekstfeltet er navngivet dynamisk). Men det virker stadig ikke?......
JavaScript har meget svært ved at håndtere elementer, hvis navne eller id'er starter med tal. Og det er også forbudt iflg. HTML-standarden. Men smid nu det link.
Hvis 'form' (i øvrigt et dårligt valgt navn til variablen) refererer til formen, skal der stå: if (form.elements[name].value=="") Her er 'name' i øvrigt også et meget dårligt valg til et variabel-navn. Man skal passe på ikke at vælge et navn, som bruges til andet - og som JavaScript kan misforstå.
Desuden kan et name eller id ikke starte med et tal i HTML. Det skal starte med et bogstav. '1Reviewer0' er med andre ord 'ulovligt' :) /mvh
Synes godt om
Slettet bruger
23. april 2003 - 15:05#19
Det var lige det, jeg skulle til at sige! :)
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.