28. januar 2008 - 09:54
Der er
9 kommentarer og 1 løsning
setTimeout script
Hej eksperter, jeg har nedenstående script som viser et div i 2050 milisekunder og derefter er det væk. Div viser at databasen er blevet opdateret. <body onLoad="Hide();"> <div id="message2"><img src="../../../admin/images/success.gif" align="absmiddle"> Handlingen blev udført!</div> <script language="JavaScript"> function Hide(){ setTimeout("HideOpen()",2050); } function HideOpen(){ message2.style.visibility = 'hidden'; } </script> Scriptet virker men jeg får jeg får følgende fejlbesked i firebug: Hide is not defined (onload(load )) Element tilgået via ID/NAME i globalt scope. Brug W3C standarden document.getElementById() i stedet for. Nogen der kan hjælpe mig med at løse dette? På forhånd tak.
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
28. januar 2008 - 14:29
#1
<ole> function HideOpen(){ document.getElementById("message2").style.visibility = 'hidden'; } /mvh </bole>
28. januar 2008 - 14:45
#2
Takker mange gange! :) Læg et svar.
28. januar 2008 - 14:56
#3
Gerne - og selvtak ;o)
28. januar 2008 - 15:26
#4
Var lidt hurtig til at få svaret. Den skriver stadig: Hide is not defined onload(load) Nogen der kan hjælpe? På forhånd tak.
28. januar 2008 - 16:11
#5
Prøv at vise siden !-)
28. januar 2008 - 16:19
#6
<? if($_GET['rettelse_page'] || $_POST['rettelse_page'] == '1'){ ?> <div id="message2"><img src="../../../admin/images/success.gif" align="absmiddle"> Handlingen blev udført!</div> <script language="JavaScript"> function Hide(){ setTimeout("HideOpen()",2050);} function HideOpen(){ document.getElementById("message2").style.visibility = 'hidden'; } </script> <? } ?> <body onLoad="Hide();">
28. januar 2008 - 20:09
#7
For det første er det noget rod at sende post- og get-variabler i samme request. Vælg én af delene. For det andet duer det ikke, du altid kalder en funktion, som kun eksisterer under visse forudsætninger. Hvis din if-betingelse ikke er opfyldt, eksisterer funktionen Hide jo ikke - og browseren må og skal derfor smide en JavaScript fejl ;o)
28. januar 2008 - 20:10
#8
Slet din event-handler i body-tagget - ret dit JavaScript-tag til et validt - og skriv: <script type="text/JavaScript"> function Hide(){ setTimeout("HideOpen()",2050);} function HideOpen(){ document.getElementById("message2").style.visibility = 'hidden'; } window.onload = function(){ Hide() } </script>
28. januar 2008 - 22:50
#9
Mange tak for den gode feedback og tak for hjælpen!
28. januar 2008 - 23:12
#10
Selvtak. Ang. det med post og get i én og samme forespørgsel, så undgå dette: <form action="side.php?bla=noget" method="post"> - skriv i stedet: <form action="side.php" method="post"> <input type="hidden" name="bla" value="noget"> Så er alle variabler post- eller get-variabler og det er somregel en stor fordel :)
Vi tilbyder markedets bedste kurser inden for webudvikling