Avatar billede ladyhawke Novice
27. september 2007 - 15:32 Der er 12 kommentarer og
1 løsning

Opret og/eller sæt et hidden input felt via JavaScript

Jeg vil gerne via noget JavaScript oprette et felt i den nuværende form, evt. baseret på formens navn. Hvordan gør man det?

Altså hvis en bestemt hændelse sker, så tilføj et hidden input felt til HTML'en...
Avatar billede w13 Novice
27. september 2007 - 17:32 #1
Du kan bare skrive:

newElement=document.createElement("input");
newElement.setAttribute("type","hidden");
newElement.style.display="none";
document.DINFORM.appendChild(newElement);

DINFORM skal så naturligvis rettes til formens navn, eller hvis formen f.eks. har id="form1", så skal det være getElementById("form1")
Avatar billede olebole Juniormester
27. september 2007 - 18:47 #2
<ole>

Nej så let er det ikke med form-elementer og IE  ;o)

if (ie) { // Lav selv browser-detection
    newElement=document.createElement("<input type='hidden' name='blabla'>");
} else {
    newElement=document.createElement("input");
    newElement.setAttribute("type","hidden");
    newElement.setAttribute("name","blabla");
}
newElement.style.display="none";
getElementById("form1").appendChild(newElement);


/mvh
</bole>
Avatar billede w13 Novice
27. september 2007 - 18:49 #3
Ikke? Howcome? Fordi IE er slamkodet? =)
Avatar billede olebole Juniormester
27. september 2007 - 18:49 #4
Ups ... sidste linje skulle være:
    document.getElementById("form1").appendChild(newElement);

- og har formen ikke en ID, men et name, kan du i stedet skrive:
    document.getElementsByName("form1")[0].appendChild(newElement);
Avatar billede olebole Juniormester
27. september 2007 - 18:50 #5
w13 >> Nej, fordi FF ikke er slamkodet på de samme steder som IE  ;o)
Avatar billede w13 Novice
27. september 2007 - 18:51 #6
:D Genialt!
Avatar billede olebole Juniormester
27. september 2007 - 18:51 #7
- men W3C's DOM duer i øvrigt ikke særlig godt på form-elementer. Vi må vente på XHTML 2.0 og XForms, før vi for alvor kan bruge DOM på forms  :o|
Avatar billede olebole Juniormester
27. september 2007 - 19:39 #8
w13 >> jeg ved jo, du er en nysgerrig rad (heldigvis!), så du får lige det her til uddybning:
    http://msdn2.microsoft.com/en-us/library/ms536389.aspx
Avatar billede olebole Juniormester
27. september 2007 - 19:40 #9
- men det er krystalklart udenfor standard!  ;o)
Avatar billede w13 Novice
27. september 2007 - 21:23 #10
Takker!
Avatar billede ladyhawke Novice
28. september 2007 - 07:55 #11
IE og Stardard går ikke altid (jeg ved godt jeg overdriver ;o) hånd i hånd, men fint svar :o)

olebole>> læg et svar, det må være måden at gøre det på (og ja, jeg skal lave det til IE, så jeg slipper ikke uden om lidt bøvl)
Avatar billede olebole Juniormester
28. september 2007 - 12:15 #12
Pointen med (27/09-2007 18:50:27) var nu, at browsere og standarder går skidt i spænd. Jeg ved godt, der florerer en dårligt underbygget myte om, at Firefox er vældig god til at overholde standarderne.
Sandheden er dog, at Firefox kun er en skygge i af den browser, Mozilla overtog fra Netscape ... og Mozilla's egne, første browsere overholdt såmænd også standarderne langt bedre end Firefox.
Hvad sikkerhedshuller angår kæmper IE og FF om at ligge forrest - og skiftes ifølge Symantec som gode venner.
Hvad understøttelse af ustandardiserede ting angår, så slæber FF f.eks. rundt på ikke mindre end 160(!) proprietære CSS-properties.

Mellem to dybe grøfter ligger ofte en farbar vej  ;o)
Avatar billede olebole Juniormester
28. september 2007 - 13:06 #13
Tak for points  :)
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