Avatar billede jokeren25 Nybegynder
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.
Avatar billede olebole Juniormester
28. januar 2008 - 14:29 #1
<ole>

function HideOpen(){
    document.getElementById("message2").style.visibility = 'hidden';
}

/mvh
</bole>
Avatar billede jokeren25 Nybegynder
28. januar 2008 - 14:45 #2
Takker mange gange! :)

Læg et svar.
Avatar billede olebole Juniormester
28. januar 2008 - 14:56 #3
Gerne - og selvtak  ;o)
Avatar billede jokeren25 Nybegynder
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.
Avatar billede roenving Novice
28. januar 2008 - 16:11 #5
Prøv at vise siden !-)
Avatar billede jokeren25 Nybegynder
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();">
Avatar billede olebole Juniormester
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)
Avatar billede olebole Juniormester
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>
Avatar billede jokeren25 Nybegynder
28. januar 2008 - 22:50 #9
Mange tak for den gode feedback og tak for hjælpen!
Avatar billede olebole Juniormester
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  :)
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