"is not defined" errors only in Firefox

F

forwardtrends

I am trying to simply make a div appear and dis-appear. The code I am
using is:

---

if(!document.getElementById) {
document.getElementById = function() {return null;};
}

function setStyle(element, property, value) {
element = document.getElementById(element);
if(element.style) {element.style[property] = value;}
}

function hideDiv() {
setStyle(handbookPop, 'display', 'none');
}
function showDiv() {
setStyle(handbookPop, 'display', '');
}

---

But when I use a <body onLoad="javascript:hideDiv();">

or

<a href="#" onClick="javascript:showDiv();">show div</a>

I get "handbookPop is not defined" in Firefox but in IE and Opera it
works fine.

The div looks like:

<div id="handbookPop>
some stuff
</div>

Any help would be greatly appreciated - thanks.
 
W

web.dev

forwardtrends said:
function setStyle(element, property, value) {
element = document.getElementById(element);
if(element.style) {element.style[property] = value;}
}
[snip]
setStyle(handbookPop, 'display', 'none');
setStyle(handbookPop, 'display', '');

handbookPop is not defined because you are sending an undefined value
to your function setStyle function. Change it to the following
accordingly:

setStyle("handbookPop", "display", "none");
setStyle("handbookPop", "display", "");

handbookPop should be a string.
But when I use a <body onLoad="javascript:hideDiv();">
<a href="#" onClick="javascript:showDiv();">show div</a>

Javascript pseudo-protocol is a very bad practice. Try searching the
groups here, and you'll get many reasons as to why it is so.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,772
Messages
2,569,593
Members
45,111
Latest member
KetoBurn
Top