19. oktober 2007 - 10:28Der er
9 kommentarer og 1 løsning
Dynamisk indsættelse af input elementer i form (IE)
Hej eksperter!
Hvordan kan jeg ved hjælp af javascript tilføje input elementer til min html-form så disse bliver overført ved submit - også når brugeren benytter Internet Explorer?
Jeg har prøvet noget i stil med følgende (uddrag):
<script> function init(form) { var input = document.createElement("input");
Dog mener jeg det er mere "korrekt" at du sætter dine attributter med input.setAttribute("name","c") og input.setAttribute("type","text"), frem for bare at skrive input.name ...
Jeg har prøvet både med input.name = "c" og input.setAttribute("name", "c") og begge dele gjorde hvad der forventedes i FF2 og IE7, men det kunne da være rart at vide hvad forskel det evt. kunne gøre.
Jeg vil give soerenlyn ret i at input.setAttribute bør være det mest korrekte når der arbejdes med DOM elementer og derfor er mere robust i længden. Jeg bemærkede iøvrigt den forskel at når jeg brugte input.name = "c" fremgik denne attribut ikke hvis jeg udprintede form.innerHTML (i FF2), hvorimod den gjorde hvis jeg brugte setAttribute.
Nu ved jeg ikke hvad du mener med mindre udbredte browsere, men jeg plejer at oprette elementet og derefter putte name på med setAttribute, og det virker også i fx safari, opera, seamonkey..
Lige det udtryk var vist nok lettere sarkastisk ...
-- og såvidt jeg er orienteret, så virker det i alle nyere browsere, der har en ordentlig DOM implementeret !-)
-- altså lige bortset fra M$-produktet ...
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.