19. oktober 2003 - 13:18Der er
20 kommentarer og 1 løsning
Overførsel af et array fra en form til et javascript
Jeg har følgende java script: function tjekform(frm) { emailtabel = new Array(frm.antal_i.value); emailtabel[1] = frm.emailadr[1].value; alert("emailadresse: " + emailtabel[1]); } Jeg får følgende fejl: Error: 'emailadr.1' is null or not an object. Hvordan får jeg dette til at virke?
Hvis du fx bruger en radiobutton eller checkbox skal du også medtage et [indexTal] i dit javascript. Men du har ret i at et navn ikke må indeholde []-tegn.
jamola>> Kunne vi ikke få din formen eller siden at se ?-)
Mit inputfelt i formen ser grundlæggende således ud (forkortet) og er skabt ved hjælp af asp: <% i = 0 Do While not rsKontaktperson.EOF i=i+1 response.write("<tr><td>") response.write("<input class='inputfelt2' type='text' name='emailadr[" & i & "]' value='" & rsKontaktperson("EmailAdr") & "' />") response.write("</td><td class='alert'>") response.write("<input class='alert' type='checkbox' name='slettes[" & i & "]' value='ja' /></div>") response.write("</td></tr>") rsKontaktperson.MoveNext Loop response.write("<input type='hidden' name='antal_i' value='" & i & "' />") %>
ja, du må ændre navnet hvis du skal gøre dig forhåbninger om at det skal virke. Du kunne fx kalde den: name='emaailad"&i&"' og ligeledes med slettes (ved dog ikke om det er sådan du siger i asp ;-)
Et navn på et HTML-element må _gerne_ indeholde []. Det er helt i overensstemmelse med HTML-standarden. I JavaScript kan den slags navne dog godt skabe problemer, hvis man ikke ved, hvordan se skal tackles: document.FORMNAVN.elements["navn[]"][1] hiver således fat i det andet felt med navnet 'navn[]' i formen 'FORMNAVN'
skovenborg >> Årsagen til man bruger brackets i navnet er, at så har man værdierne liggende i et array på serveren. Fire felter med navnet 'skovenborg[]' vil på serveren give et array med fire elementer. Det sparer taste-arbejde - men vigtigere: det sparer server-muskler, da du undgår at skulle hente værdierne i løkker ;o) /mvh
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.