Avatar billede mrfunder Nybegynder
14. februar 2005 - 18:28 Der er 16 kommentarer og
1 løsning

Fejl i GetElementById?

Hej, jeg har nogle problemer med at få min getelemtbyid til at virke.

$indhold = "<table border=0 width=100%><tr><td width=51%>Fra: $from</td><td width=49%><p align=right>Dato: $row_brev[dato]</p></td></tr></table><hr noshade size=1 color=#000000><table border=0 width=100%><tr><td width=100%>$row_brev[besked]<BR><BR></td></tr></table><table border=0 width=100%><tr><td width=48%></td><td width=52%><p align=right>$type</p></td></tr></table>";
print "<script>parent.document.getElementById('showmail').innerHTML='$indhold';</script>";

- Når jeg bruger mit indhold som skal med, virker det ikke (Det er det jeg skal have det til at gøre)


print "<script>parent.document.getElementById('showmail').innerHTML='123';</script>";

- Dette virker
Avatar billede mrfunder Nybegynder
14. februar 2005 - 18:29 #1
Når jeg sender HTML med, så virker det ikke. Når jeg bare sender nogle enkelte tal/cifre, så virker det

- Hvordan får jeg det til at virke, kan i se fejlen? :S
Avatar billede net-city Nybegynder
14. februar 2005 - 18:33 #2
Hvad siger fejlen?
Avatar billede mrfunder Nybegynder
14. februar 2005 - 18:37 #3
Intet? Den sender bare ikke nogen informationer, den siger der er en fejl i selve linjen.

print "<script>parent.document.getElementById('showmail').innerHTML='$indhold';</script>";

Men det virker fint nok når det bare ikke er html jeg sender igennem
Avatar billede roenving Novice
14. februar 2005 - 18:49 #4
Er det en php-fejl du får eller er det en javascript-fejl ?-)

I det sidste tilfælde, så prøv at vise hvordan koden ser ud, når den vises i browseren !-)
Avatar billede mrfunder Nybegynder
14. februar 2005 - 19:10 #5
1. Den viser ingen PHP-fejl

2. Funktionen virker i firefox, dog ikke i IE.
Jeg får flg. fejl i Firefox (selvom det virker):
parent.document.getElementById("mailstatus") has no properties.

Jeg får flg. fejl i IE (hvor det ikke virker!):
Der opstod en ukent fejlkørsel

(Altså - JavaSript fejl)

$indhold = "<table border=\"0\" width=\"100%\"><tr><td width=\"51%\">Fra: $from</td><td width=\"49%\"><p align=\"right\">Dato: $row_brev[dato]</p></td></tr></table><hr noshade size=\"1\" color=\"$linecolor\"><table border=\"0\" width=\"100%\"><tr><td width=\"100%\">$row_brev[besked]<BR><BR></td></tr></table><table border=\"0\" width=\"100%\"><tr><td width=\"48%\"></td><td width=\"52%\"><p align=\"right\">$type</p></td></tr></table>";
print "<script>parent.document.getElementById('showmail').innerHTML='$indhold';</script>";

Det er nederste linje jeg får fejl i begge browsere
Avatar billede roenving Novice
14. februar 2005 - 19:12 #6
Kan du ikke vise det, som det ser ud, hvis du i browseren vælger Vis kilde ?-)
Avatar billede mrfunder Nybegynder
14. februar 2005 - 19:18 #7
<html>
<head>
<title>title</title>
<LINK href="style.css" rel=stylesheet>
</head>
<body topmargin="8" leftmargin="6">
<body>


<script language="javascript">
var antalmails;
var tekst;

antalmails = "0";

if(antalmails < 2) {
tekst = "Du har "+antalmails+" ulæst brev";
} else {
tekst = "Du har "+antalmails+" ulæste breve";
}

if(antalmails>0) {
parent.document.getElementById('mailstatus').innerHTML = '<a href="pages/indbakke.php?function=1&orderby=status" target="content"><img alt="'+tekst+'" border="0" src="gfx/letter3.gif" width="14" height="14"></a>&nbsp;';
} else {
parent.document.getElementById('mailstatus').innerHTML = '&nbsp;';
}

document.oncontextmenu=new Function("return false");
</script>
<script>parent.document.getElementById('showmail').innerHTML='<table border="0" width="100%"><tr><td width="51%">Fra: Assistent manager</td><td width="49%"><p align="right">Dato: 21.03.2004 - 12.32</p></td></tr></table><hr noshade size="1" color="#C0C0C0"><table border="0" width="100%"><tr><td width="100%">Test<BR><BR></td></tr></table><table border="0" width="100%"><tr><td width="48%"></td><td width="52%"><p align="right"></p></td></tr></table>';</script>
Avatar billede roenving Novice
14. februar 2005 - 19:24 #8
-- og du har altså et dokument, hvor der bl.a. er et element med id="showmail" og et andet med id="mailstatus" og også en iframe, hvor ovenstående kode loades ind i ?-)

-- kunne du lægge et link, hvis det er korrekt ?o]
Avatar billede mrfunder Nybegynder
14. februar 2005 - 19:27 #9
Vil helst ikke give dig et link - desværre.

Selve "post-siden" det er der mit id=showmail ligger. På "post-siden" har jeg et iframe hvor brevet fortolkes i (Det er et postsystem). Og hvor den så skal sende det tilbage til siden som iframen er placeret på.

mailstatus er noget helt andet :)
Avatar billede roenving Novice
14. februar 2005 - 19:32 #10
Er det omkringliggende dokument initialiseret, når funktionen kaldes ?-)
Avatar billede mrfunder Nybegynder
14. februar 2005 - 19:45 #11
Uddyb? :)
Avatar billede roenving Novice
14. februar 2005 - 19:48 #12
Fejlen, som du får i FireFox tyder på, at den ikke kan finde et element, som har properties, altså er det ikke færdiginitialiseret (og findes ikke som færdigt element i dokumentets objekt-hierarki !-)
Avatar billede mrfunder Nybegynder
14. februar 2005 - 19:49 #13
hm.Og hvad så med IE? :P
Avatar billede roenving Novice
14. februar 2005 - 19:51 #14
Får du ikke også en advarselstrekant der ?-)
Avatar billede mrfunder Nybegynder
14. februar 2005 - 19:54 #15
Jo -> Og der får jeg fejlen: Der opstod en ukent fejlkørsel
Avatar billede roenving Novice
14. februar 2005 - 20:01 #16
-- 'ukendt fejl' var før sp2 ofte forbundet med cross-domain-scripting, men der giver IE6sp2 en bedre fejlmeddelelse omkring noget sikkerheds-noget ...

-- har du eventuelt underdomæner ?-)

-- den kan i hvert fald løses !-)
Avatar billede mrfunder Nybegynder
25. februar 2007 - 23:09 #17
lukker
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