Jeg har et formularfelt: <input type="hidden" name="delivery1.Navn" value="" /> Jeg vil fra JavaScript gerne indsætte en værdi, men dette virker ikke, grundet det 2-ledede navn: document.myForm.delivery1.Navn.value = "ABC"; Hvorledes adresserer jeg feltet:
men i det hele taget synes jeg det er en dårlig idé at navngive felter på en måde som kan komme i konflikt med den generelle objekt reference model. Brug underscore (_) i stedet for punktum, altså delivery1_Navn.
softspot >> Fejlen ligger faktisk i browserens implementering af JavaScript. I følge W3C er et punktum helt valid i name-attributen. Det er skidt kodestil, ja ... men kun fordi, det er et buggy, inkonsistent miljø, vi koder til - ikke fordi, det strider mod reglerne =)
Jeg har kodet længe nok til Microsoft-produkter og i ditto teknologier til at være overordentlig mistænksom overfor alle notationer som bare afviger lidt fra de helt basale regler for navngivning af variable (dvs. man kun bruger bogstaver fra a-z, underscore og tal - og aldrig tal som det først tegn i et variabelnavn).
Der er udfordringer nok at kæmpe med når man udvikler systemer, så der er ikke nogen grund til selv at opfinde flere problemer end allerhøjst nødvendigt... :)
softspot >> Nu taler du om noget komplet andet. Du må endelig ikke sammenligne variabel-navne med element-identifiers - det er to meget forskellige ting =)
Det er såmænd kun, når man skriver tussegammel kode fra forrige årtusinde, der kan opstå problemer. Holder man sig til tidsvarende, standardiseret kode, giver det ikke problemer. Adresseringer på formerne: document.myForm.delivery1.Navn - og: document.myForm.elements['delivery1.Navn']
- er fra før 1999. Bruger du derimod DOM til at tilgå elementer med, er der ingen problemer.
Nu er du jo ASP'er, men havde du i stedet skrevet PHP ville du med garanti ofte have anvendt f.eks: <input name="bla[]" type="checkbox">
- som millioner af andre PHP'ere ... og helt uden problemer ... MS eller ej ;o)
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.