Avatar billede skumlingen Nybegynder
18. december 2006 - 13:21 Der er 8 kommentarer og
1 løsning

IE innerHTML ukendt kørselsfejl

Når jeg tester mit script i IE kommer denne ukendte kørselsfejl, men i FF virker alt perfekt.

Det der skal ske er hvergang jeg vælger et billed i min billed menu skal hoved billede tekst og underliggende link udskiftes..

kun billede bliver udskrivet.

[Javascript]
document.getElementById("text").innerHTML = imageText[selNavIndex];
                document.getElementById("download").innerHTML = imageDownload[selNavIndex];
[/Javascript]

disse to linier fejler dog i IE og udskifter ikke underliggende steder de skal.

text arrayet består er et tekst afsnit på over 250 karaktere.
og linket består af et a link html code, alt sammen bliver udskiftet inde i to forskellige SPAN elementer.

[HTML]
<img class="imageBorder" src="/uploads/24999/billedGalleri.jpg" border="0" alt="" name="image">
<div class="textModule" id="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, set eiusmod tempor incidunt etlabore et dolore magna aliquam. Ut enim ad minim veniam, quis nostrud exerc. Irure dolorin reprehend  incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quisnostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.<br>  Duisaute irure dolor in reprehenderit in voluptate velit esse molestaie cillum. Tia non ob easoluad incommod quae egen ium improb fugiend. Officia deserunt mollit anim id est laborumEt harumd  dereud facilis est er expedit distinct. Nam liber te conscient to factor tumpoen legum odioque civiuda et tam. Neque pecun modut est neque nonor et imper ned libidigmet, consectetur adipiscing  elit, sed ut labore et dolore magna aliquam is nostrudexercitation ullam mmodo consequet.</div>
<div class="dots"></div>
<span id="download"><a href="/uploads/24999/2345728448.jpg" class="downloadModule">Download Fil</a></span>
<div class="dots"></div>
[/HTML]


nogen der har en løsning på problemet eller ved hvad problemet er?
Avatar billede olebole Juniormester
18. december 2006 - 13:40 #1
<ole>

Prøv med et link

/mvh
</bole>
Avatar billede olebole Juniormester
18. december 2006 - 13:45 #2
Nu er FF jo en mere end almindelig lam browser, hvad JS/DOM angår, så det kunne meget vel tænkes, det skyldes en bug i FF  =)

Når du skriver:
    "text arrayet består er et tekst afsnit på over 250 karaktere"

- ligger disse afsnit så evt. i p- eller div-elementer?
Avatar billede fixxxer Nybegynder
18. december 2006 - 14:06 #3
Undskyld spam.

Olebole > Af ren nysgerighed, hvad er det FF ikke gør godt mht. Javascript og DOM? Jeg har ikke selv oplevet noget "unormalt", men det ville være rart at kende til evt. problemstillinger den dag man render ind i dem.
Avatar billede olebole Juniormester
18. december 2006 - 14:22 #4
Intet valideres, når du foretager DOM-handlinger i FF. Du kan således indsætte billeder, tabeller eller hvad somhelst i hvilket somhelst element. Du kan f.eks. klone hele documentElement og append'e klonen til et input-felts element-node!

Spørger du bagefter til klonens parentNode's tagName - og undersøger du sammes innerHTML - kan du konstatere, at ikke engang FF selv er helt med på, hvad der foregår  :o|

Desuden kan man f.eks. ikke aftaste et input-felts value med DOM. Dette kan kun hente værdien af et felt, hvis den er sat i koden (som feltets 'defaultValue'):
    alert( ELEMENT.getAttribute("value") );

- intet af det, brugeren måtte skrive i feltet, afspejles, når værdien hentes på denne måde.

På den anden side er dette den eneste valide måde at hente et input-felts værdi på under XHTML, hvorfor XHTML ikke kan bruges i FF, hvis man samtidig ønsker at kunne bruge JS (f.eks. til validering af form-felter).

Dette er kun ganske få af de utallige fejl, FF indeholder - men det er såmænd alt rigeligt  =)
Avatar billede olebole Juniormester
18. december 2006 - 14:29 #5
Til en start kan du lege lidt med:

<select id="gnu">
    <option>Blabla</option>
    <option>Blabla</option>
    <option>Blabla</option>
</select>

<script type="text/JavaScript">
var o = document.getElementById("gnu");
var oo = document.createElement("img");
oo.setAttribute("src", "http://www.eksperten.dk/img/elogo.png");
o.getElementsByTagName("option")[1].appendChild(oo);
</script>
Avatar billede fixxxer Nybegynder
18. december 2006 - 14:36 #6
Dét var et interessant resultat.

Hvor mange andre browsere døjer med sådanne mærkværdigheder?

IE rendere ganskevist ikke et billede ind i select'en, men melder heller ikke fejl, hvilket den vel burde?
Avatar billede olebole Juniormester
18. december 2006 - 14:54 #7
Yups, det burde den gøre - og den gør det i andre element-kombinationer  =)
Avatar billede skumlingen Nybegynder
19. december 2006 - 11:41 #8
Svaret er simpelt, vi løste det selv idag... ID'et må ikke være navngivet som TEXT som jeg i første omgang har gjort. det forvirre JavaScriptet.
så vi ændrede ID navnet til test og så virkede det.
Avatar billede olebole Juniormester
19. december 2006 - 13:02 #9
Dooohhhh .... det så jeg slet ikke - sorry! Ja, 'text' er naturligvis et reserveret ord i JS - ligesom f.eks. 'submit', der jævnligt er årsag til spørgsmål på E  ;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