Forum Moderators: open

Message Too Old, No Replies

JS error in IE but works fine in FF?

         

evancelt

7:55 pm on Jun 25, 2010 (gmt 0)

10+ Year Member



Hi. I'm trying to control access to forum fields based on a user's selection in a drop down menu. It works entirely fine in FF, but get an "object required" error in IE. All of the objects in the .js file are spelled exactly as they are in the html file.

Here is the code:
function displaySubs(the_sub){
if (the_sub == '1') {
document.getElementById('onamename').style.display = 'block';
document.getElementById('pnamename').style.display = 'none';
document.getElementById('pname').style.display = 'block';
document.getElementById('odescdesc').style.display = 'block';
document.getElementById('pdescdesc').style.display = 'none';
document.getElementById('pdesc').style.display = 'block';
document.getElementById('ologologo').style.display = 'block';
document.getElementById('plogologo').style.display = 'none';
document.getElementById('plogo').style.display = 'block';
document.getElementById('psubmit').style.display = 'block';
}
if (the_sub == '2') {
document.getElementById('onamename').style.display = 'none';
document.getElementById('pnamename').style.display = 'block';
document.getElementById('pname').style.display = 'block';
document.getElementById('odescdesc').style.display = 'none';
document.getElementById('pdescdesc').style.display = 'block';
document.getElementById('pdesc').style.display = 'block';
document.getElementById('ologologo').style.display = 'none';
document.getElementById('plogologo').style.display = 'block';
document.getElementById('plogo').style.display = 'block';
document.getElementById('psubmit').style.display = 'block';
}
if (the_sub == '0') {
document.getElementById('onamename').style.display = 'none';
document.getElementById('pnamename').style.display = 'none';
document.getElementById('pname').style.display = 'none';
document.getElementById('odescdesc').style.display = 'none';
document.getElementById('pdescdesc').style.display = 'none';
document.getElementById('pdesc').style.display = 'none';
document.getElementById('ologologo').style.display = 'none';
document.getElementById('plogologo').style.display = 'none';
document.getElementById('plogo').style.display = 'none';
document.getElementById('psubmit').style.display = 'none';
}
}


Any ideas?

Thanks

Fotiman

8:27 pm on Jun 25, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Welcome to WebmasterWorld!

Your example works for me in IE7 (though it could certainly be optimized). Here's my test case:

<html>
<head>
</head>
<body>
<div id='onamename'>onamename</div>
<div id='pnamename'>pnamename</div>
<div id='pname'>pname</div>
<div id='odescdesc'>odescdesc</div>
<div id='pdescdesc'>pdescdesc</div>
<div id='pdesc'>pdesc</div>
<div id='ologologo'>ologologo</div>
<div id='plogologo'>plogologo</div>
<div id='plogo'>plogo</div>
<div id='psubmit'>psubmit</div>
<button onclick="displaySubs('1');">1</button>
<button onclick="displaySubs('2');">2</button>
<button onclick="displaySubs('0');">0</button>
<script type="text/javascript">
function displaySubs(the_sub){

if (the_sub == '1') {
document.getElementById('onamename').style.display = 'block';
document.getElementById('pnamename').style.display = 'none';
document.getElementById('pname').style.display = 'block';
document.getElementById('odescdesc').style.display = 'block';
document.getElementById('pdescdesc').style.display = 'none';
document.getElementById('pdesc').style.display = 'block';
document.getElementById('ologologo').style.display = 'block';
document.getElementById('plogologo').style.display = 'none';
document.getElementById('plogo').style.display = 'block';
document.getElementById('psubmit').style.display = 'block';
}
if (the_sub == '2') {
document.getElementById('onamename').style.display = 'none';
document.getElementById('pnamename').style.display = 'block';
document.getElementById('pname').style.display = 'block';
document.getElementById('odescdesc').style.display = 'none';
document.getElementById('pdescdesc').style.display = 'block';
document.getElementById('pdesc').style.display = 'block';
document.getElementById('ologologo').style.display = 'none';
document.getElementById('plogologo').style.display = 'block';
document.getElementById('plogo').style.display = 'block';
document.getElementById('psubmit').style.display = 'block';
}
if (the_sub == '0') {
document.getElementById('onamename').style.display = 'none';
document.getElementById('pnamename').style.display = 'none';
document.getElementById('pname').style.display = 'none';
document.getElementById('odescdesc').style.display = 'none';
document.getElementById('pdescdesc').style.display = 'none';
document.getElementById('pdesc').style.display = 'none';
document.getElementById('ologologo').style.display = 'none';
document.getElementById('plogologo').style.display = 'none';
document.getElementById('plogo').style.display = 'none';
document.getElementById('psubmit').style.display = 'none';
}
}
</script>
</body>
</html>