Connecting Tech Pros Worldwide Forums | Help | Site Map

using javascript with radio button to disable a text box - does not work in IE

s.chelliah@gmail.com
Guest
 
Posts: n/a
#1: Aug 29 '06
Hi,
I am trying to use javascript, div tag and radio button to
disable/enable a text box. It works fine
in netscape and firefox, but in IE, the text box is not disabled when
the user checks the radio button.

Note that I am using two div statements. Any other solutions also
wellcome.

<html>
<title>Test</title>

<head>
<script type="text/javascript">

function checkButton(rName) {

collection = document.all[rName];
if (collection[1].checked)
{
//document.myform.abutton.disabled = true;
document.getElementById("durfixed").style.display= "block";
document.getElementById("nodurfixed").style.displa y="none";
}
else
{
document.getElementById("durfixed").style.display= "none";
document.getElementById("nodurfixed").style.displa y="block";
}

}
</script>
</head>

<body >


<h2>Radio Button Check</h2>

<form name=myform>
<fieldset style="width:100px">
<legend>Toggle</legend>
<INPUT type=radio name=milestone value="Beta1"
onChange="checkButton('milestone')">Beta 1<br>
<INPUT type=radio name=milestone checked value="Beta2"
onChange="checkButton('milestone')">Beta 2<br>
</fieldset>

<br>

<div id="durfixed" style="display:block;" >
<input type=text name=ename value="">
</div>
<div id="nodurfixed" style="display:none;" >
<input type=text name=noename readonly value="" style="background:
#cccccc" >
</div>


</body>
</form>
</html>


Thanks for the help
Siva


RobG
Guest
 
Posts: n/a
#2: Aug 30 '06

re: using javascript with radio button to disable a text box - does not work in IE


s.chelliah@gmail.com wrote:
Quote:
Hi,
I am trying to use javascript, div tag and radio button to
disable/enable a text box. It works fine
in netscape and firefox, but in IE, the text box is not disabled when
the user checks the radio button.
First, the solution: change your onchange to onclick.

Second, why. Your function is working in IE too. The difference is
tha in IE, the onchange event fires when the control loses focus (which
is as per the W3C spec) whereas other browsers fire a radio button's
onchange essentially as an onclick.

By using onclick, you'll get consistent behaviour across browsers.
Note however that using reload, it is possible to have the state of the
text input out of sync with the radio button selection in some (most?)
browsers. onload you should either run checkButton() or reset the form
to a known state.


--
Rob

Closed Thread