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

  • Follow


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.display="none";
  }
  else
  {
       document.getElementById("durfixed").style.display="none";
       document.getElementById("nodurfixed").style.display="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

2
Reply s.chelliah (2) 8/29/2006 10:07:40 PM

s.chelliah@gmail.com wrote:
> 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

0
Reply RobG 8/29/2006 11:30:51 PM


1 Replies
1173 Views

(page loaded in 0.057 seconds)

Similiar Articles:













7/23/2012 9:46:45 AM


Reply: