| | |
Switching visible divs works in IE, not in FF or Opera
Please support our JavaScript / DHTML / AJAX advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
![]() |
•
•
Join Date: Aug 2006
Posts: 2
Reputation:
Solved Threads: 0
Very new to Javascript, so don't kill me - just need it to work...
Want divs to be visible based on which radio button is selected. Code works exactly as needed in IE. FF and Opera both show the first div, but do not toggle.
I'll still be fiddling with this as I wait for guidance so the test posting page is: http://people.cornell.edu/pages/clb3...odivswitch.htm
TIA,
Chris
P.S. I realize I can combine some of the functions, I am working on that now - but I just need it to work!!! site is suposed to go live tomorrow.
Want divs to be visible based on which radio button is selected. Code works exactly as needed in IE. FF and Opera both show the first div, but do not toggle.
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
<style type="text/css" media="all"> label { style:"block"; } </style> <script type="text/javascript" language="JavaScript"> function Res(){ if(document.getElementById){ var el = document.getElementById('US'); el.style.display = "Block"; var el = document.getElementById('NonUs'); el.style.display = "none"; } } function NonRes(){ if(document.getElementById){ var el = document.getElementById('NonUs'); el.style.display = "block"; var el = document.getElementById('US'); el.style.display = "none"; } } function PR(){ if(document.getElementById){ var el = document.getElementById('greencard'); el.style.display = "block"; var el = document.getElementById('nonpr'); el.style.display = "none"; } } function NonPR(){ if(document.getElementById){ var el = document.getElementById('NonPR'); el.style.display = "block"; var el = document.getElementById('greencard'); el.style.display = "none"; } } </script> </head> <body> <FORM AUTOCOMPLETE="OFF" action="index.cfm" method="post"> <label for="citizenship">Are you a US Citizen?</label> <input type="radio" id="citizenship" name="citizenship" value="-1" Onclick="Res()">Yes <input type="radio" id="citizenship" name="citizenship" value="0" Onclick="NonRes()">No <Div id="US" style="display:none;"> <h1>Us Citizenship</h1> </div> <br> <div id="NonUS" style="display:none;"> <h1>NonUs Citizenship</h1> <label for="Perm_Res">If you are not a U.S. citizen, are you a Permanent Resident of the U.S.?</label> <input type="Radio" name="Perm_Res" value="-1" Onclick="PR()">Yes <input type="Radio" name="Perm_Res" value="0" Onclick="NonPR()">No <div id="greencard" style="display:none;"> <label for="GreenCard_ID">Green Card ID (Such as: A123456789):</label> <input name="GreenCard_ID" type="text" value="" size="10" maxlength="10"> </div> <div id="nonpr" style="display:none;"> <label for="Country_Residency">Country</label> <label for="County_City_Residency">For International Students Only</label> </div> </div> </form>
I'll still be fiddling with this as I wait for guidance so the test posting page is: http://people.cornell.edu/pages/clb3...odivswitch.htm
TIA,
Chris
P.S. I realize I can combine some of the functions, I am working on that now - but I just need it to work!!! site is suposed to go live tomorrow.
Last edited by Beards247; Aug 14th, 2006 at 3:10 pm.
•
•
Join Date: Aug 2006
Posts: 3
Reputation:
Solved Threads: 0
id names (which you are using via document.getElementById(name)) are case sensitive. you named your div with id="NonUS", in your javascript you used ..getElementById("NonUs")..
furthermore, you should not initiate a variable with the same name twice in a (function) context..
[html]
function some_name() {
var x= 'abc';
var x= '123';
}
[/html] = not good...
better:
[html]
function some_name(){
var x= 'abc';
x= '123';
}
[/html]
by the way, you could shorten down your javascript to:
[html]
...
function toggle(sVisible, sHidden) {
document.getElementById(sVisible).style.display= '';
document.getElementById(sHidden).style.display= 'none';
}
....
<input type="radio" id="citizenship" name="citizenship" value="-1" onchange="toggle('US','NonUS')" />Yes
...
[/html] and so on..
furthermore, you should not initiate a variable with the same name twice in a (function) context..
[html]
function some_name() {
var x= 'abc';
var x= '123';
}
[/html] = not good...
better:
[html]
function some_name(){
var x= 'abc';
x= '123';
}
[/html]
by the way, you could shorten down your javascript to:
[html]
...
function toggle(sVisible, sHidden) {
document.getElementById(sVisible).style.display= '';
document.getElementById(sHidden).style.display= 'none';
}
....
<input type="radio" id="citizenship" name="citizenship" value="-1" onchange="toggle('US','NonUS')" />Yes
...
[/html] and so on..
•
•
Join Date: Aug 2006
Posts: 2
Reputation:
Solved Threads: 0
•
•
•
•
Originally Posted by U.K.
by the way, you could shorten down your javascript to:
[html]
...
function toggle(sVisible, sHidden) {
document.getElementById(sVisible).style.display= '';
document.getElementById(sHidden).style.display= 'none';
}
....
<input type="radio" id="citizenship" name="citizenship" value="-1" onchange="toggle('US','NonUS')" />Yes
...
[/html] and so on..
![]() |
Similar Threads
- How to make CSS opacity setting work in IE7 ? (JavaScript / DHTML / AJAX)
- getting layermovement in netscape (HTML and CSS)
- Is my code wrong or is Opera? (JavaScript / DHTML / AJAX)
- applet to object in IE6 (Java)
- Aurora Trouble... please help I cant delet it (Viruses, Spyware and other Nasties)
- Hijack log attached :Cannot access hotmail on IE or MSN explorer (Viruses, Spyware and other Nasties)
- IE over Firefox? (Web Browsers)
Other Threads in the JavaScript / DHTML / AJAX Forum
- Previous Thread: problem in css->overflow:scroll
- Next Thread: Photoshop - javascript slice : error : copy command not available??
| Thread Tools | Search this Thread |
ajax ajaxcode ajaxexample ajaxhelp ajaxjspservlets animate array automatically browser bug calendar captchaformproblem cart checkbox child close codes createrange() cursor date debugger dependent disablefirebug dom dropdown editor element embed engine enter events explorer ext file firefox form forms frameworks getselection google gxt hiddenvalue highlightedword hint html htmlform ie7 ie8 iframe images internet java javascript javascripthelp2020 jawascriptruntimeerror jquery jsf jsfile jsp jump libcurl maps masterpage math media microsoft object onmouseoutdivproblem onreadystatechange parent paypal pdf php player position post programming progressbar prototype redirect regex runtime safari scale scriptlets scroll search security shopping size software sql text textarea unicode web website windowsxp wysiwyg \n





