2e gebruik javascript zorgt voor een error

Status
Niet open voor verdere reacties.

Snarfje

Nieuwe gebruiker
Lid geworden
27 nov 2002
Berichten
2
Hallo Beste Mensen,

Hopenlijk kan een van jullie mij helpen met een probleempje waar ik tegenaanloop.

Het onderstaande "script" dat ik heb geschreven is eigenlijk heel simpel. Bij het drukken van de "open box"-knop gaat er een grote div over het hele scherm om de achterliggende pagina te blokkeren en daarbovenop komt een klein zelf-gemaakt alert boxje. IN het alert boxje zit een knop om beide div's weer te verbergen.

Als ik het bovenstaande de 1e keer doe werkt alles prima, maar als ik het een 2e keer doe schiet er een javascript error in. Is er iemand die weet waar dit aan ligt???? HELP!

PS het is voor gebruik in een intra net en hoeft alleen te werken met IE (dat gebruik ik dus ook)
PS2: ik heb alle stijlelementen etc erin gelaten, misschien ligt het daaraan.


HTML:
<html>
<head>
</head>
<body>


<script>
function alerter()
{
alerter=document.getElementById("alerter");
alerter.style.display = '';
protect=document.getElementById("protecter");
protecter.style.display = '';
}
</script>


<span onClick="alerter()"><u>open box</u></span>
<br>
<br>

<div id="protecter" style="z-index:2; overflow:none;position:absolute; display: none; width: 1005px; height: 900px; background-color:#FFFFFF;filter:alpha(opacity=0);cursor:not-allowed">
&nbsp;
</div>
<div id="alerter" style="z-index:3;overflow: none; position:absolute; width: 416px; height: 206px; display: none; background-color:#FFFFFF;border: 1px gray solid; padding:0px; margin-top: 90px;margin-left:245px;filter: progid:DXImageTransform.Microsoft.Shadow(color=gray,direction=135);">

Dit is een alert box met wat info erin en een knop om hem weer te verwijderen
<br>
<br>
<input type="button" value="Cancel" onClick="document.getElementById('alerter').style.display = 'none';document.getElementById('protecter').style.display = 'none';">
</div>

Dit is dan gewoon een pagina met wat info erop die geblokkeerd wordt door een super grote div

</body>
</html>

Heel erg bedankt.

groetjes,
Ramon
 
Code:
function alerter()
{
[B]var [/B]alerter=document.getElementById("alerter");
alerter.style.display = '';
protect=document.getElementById("protecter");
protecter.style.display = '';
}
 
re: oplossing

Hey Man,

Je bent meesterlijk, hardstikke bedankt!!! Wat een stom foutje zeg! Het is overigens een deel van een complex systeem waardoor je dit soort foutjes over het hoofd ziet :o

Voor degene die ook probleempjes hebben..onthoud dat je variabelen wel ff moet aangeven door er VAR voor te zetten.

Bedankt.

gr
Ramon
 
Voor degene die ook probleempjes hebben..onthoud dat je variabelen wel ff moet aangeven door er VAR voor te zetten.
Het kwam omdat je ook een functie met de naam alerter had. :)

Met var ervoor is het een lokale variabele die alleen binnen de functie bestaat. Zonder var ervoor is het een globale variabele die in het hele document voorkomt en dat botste met de functie onder dezelfde naam.
PHP:
function alerter() {
 document.getElementById('alerter').style.display = '';
 document.getElementById('protecter').style.display = '';
 };
kan ook. :)


Vr.Gr. Egel.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan