Avatar billede razmuz_dk Nybegynder
22. januar 2005 - 19:33 Der er 5 kommentarer og
1 løsning

Ændr indhold af en input med array-navn

Hej Eksperter

Jeg har en række inputs der sendes som et array således:
<input name="navn[]" />
<input name="navn[]" />
<input name="navn[]" />
<input name="navn[]" />

Inden formularen submittes skal der skrives i et af felter udfra hvad brugeren klikker på. Det kunne fx være navn[] nr. 2 der skal udfyldes med et ord.

Hvordan kan jeg "få fat i" fx felt nr. 2 fra oven. Jeg leder efter en kode ala
document.forms['form'].navn['1'].value='test-værdi';

-TAK
Avatar billede olebole Juniormester
22. januar 2005 - 19:58 #1
<ole>

Brug et andet navn end 'form'. Det ord er reserveret i JS. Dernæst skal du bruge en lidt anden syntaks, når du bruger brackets i en name-attribut:
  document.myForm.elements["navn[]"][1].value = "test-værdi"

/mvh
</bole>
Avatar billede olebole Juniormester
22. januar 2005 - 19:59 #2
... eller:
  document.getElementsByName("navn[]")[1].value = "test-værdi";
Avatar billede olebole Juniormester
22. januar 2005 - 20:04 #3
Noget kunne tyde på, du skriver i XHTML - og så kan du jo slet ikke bruge adresseringer som:
  document.FORMNAVN.FELTNAVN.value = "Værdi"

Det er ren HTML-DOM og kan ikke bruges under XHTML. Når det ikke udløser en fejl, er det fordi, browseren frivilligt lader sig tvinge til at tolke din kode som fejlfyldt HTML4.01  :)
Når XHTML parses som HTML har du ingen fordele ved XHTML ... tværtimod. Så ville browseren have det betydeligt lettere, hvis du skrev HTML4.01-Strict
Avatar billede razmuz_dk Nybegynder
23. januar 2005 - 13:11 #4
tak,

Så derfor bruger jeg getElementByName? korrekt? :)
Avatar billede olebole Juniormester
23. januar 2005 - 22:33 #5
Altså, hvis du spørger mig, så bør skrive du en kode, der er så god for browserne, som muligt ... derfor bør du skrive i HTML4.01 og ikke XHTML. XHTML kan ikke bruges på WWW, uden du skriver flere forskellige versioner af dine dokumenter - fuldstændig som under 'Den Store Browserkrig'.
Da de sider, man idag skriver under en af overgangsversionerne (1.0 og 1.1), er ikke engang en fremtidssikring - så den eneste begrundelse for at skrive XHTML skulle være at kunne prale overfor folk, der ikke er ordentligt inde i WWW-teknologierne. Det håber jeg da, du er enig i, er en frygtelig dårlig grund  ;o)

Prøv at læse disse to:
  http://www.eksperten.dk/artikler/537
  http://www.eksperten.dk/artikler/538
Avatar billede olebole Juniormester
23. januar 2005 - 22:34 #6
PS: den hedder 'getElementsByName' og den returnerer et array af elementer ... derfor det vigtige 's'  ;o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester