Avatar billede kongfjong Nybegynder
16. januar 2009 - 21:04 Der er 2 kommentarer og
1 løsning

BODY-element i FORM i IE7

Jeg undrer mig en smule. Jeg har opbygget en form dynamisk (i bund og grund et spørgeskema, hvor spørgsmål hentes fra db). Når jeg ønsker at hente elementerne fra formen, kan jeg selvfølgelig bruge elements-egenskaben på formen, men hvis nu jeg ikke direkte at bruge det array der kommer ud af det, men f.eks. ønsker at starte fra toppen og tjekke alle elementer "i" form-tagget, og ikke kun input-felter, textareas osv., så opfører IE7 sig rimeligt underligt.

Med alert(document.getElementById('advisor_form').firstChild) returnerer den null, mens f.eks. Firefox returnerer object HTMLLabelElement, som efter min mening er korrekt, da det første element i kildekoden er et label-tag:)

Bruger man så alert(document.getElementById('advisor_form').childNodes[0].nodeName) returnerer IE7 pludseligt BODY, mens Firefox returnerer LABEL ganske korrekt.

Det besværliggøre jo alt andet lige vejen til mit mål, når man skal et niveau ned i dokumentet i IE, for at foretage de tjeks jeg skal.

Kan nogle komme med en logisk forklaring på dette, og måske endda en løsning?
Avatar billede olebole Juniormester
18. januar 2009 - 23:25 #1
<ole>

Jeg er nede med influenza, så jeg gider ikke teste, men det undrer mig, du får returneret 'BODY' og ikke '#text'. Childnodes-collections skal du altid passe på, fordi browserne har forskellig måde at tolke white-space i koden på.

childNodes[0] er sikkert en textnode ... prøv f.eks: childNodes[1] i stedet og se, om ikke det ændrer tingene.

Én løsning kunne være at bladre den pågældende childnode-collection igennem - og for hvert element spørge på elementets nodeType

/mvh
</bole>
Avatar billede kongfjong Nybegynder
19. januar 2009 - 06:19 #2
Det sjove er, at med alert(document.getElementById('form').childNodes.length) får man 1 i IE7 og med alert(document.getElementById('advisor_form').childNodes[0].nodeName) BODY :)

Det på trods af, at jeg har fjernet alle whitespaces mellem form-tag og det første element i formen...
Avatar billede kongfjong Nybegynder
16. februar 2009 - 21:38 #3
Lukket:)
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