Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3241
  • Last Modified:

how can i use 'onChange' event on ie (radio and select)

Hi all,

I was trying to display items dinamically in my form according to selected options in some radios and dropdown lists (<input type="radio" and select-options).

The deal is that the code i'm using works fine for firefox and safari, but under ie it doesn't.

I have different divs tags that i populate according with selected values. I'm attaching some code to show you how i'm using this.

Thx a lot for the help

Regards,

Daniel Peralta
<body>
 
<script language="JavaScript" type="text/javascript">
    function check_value(divname,variable)
    {    
        document.getElementById(divname).innerHTML= document.getElementById(variable).innerHTML;
    }
	function getSelected(newdiv,sel)
	{	
  		var value = sel.options[sel.selectedIndex].value; 		
		check_value(newdiv,value);
	}
</script>
 
<div align="left">
 
	<br />
	<input type="radio" onchange="check_value('text','a')" value="op1" name="group1" /> op1<br />
	<input type="radio" onchange="check_value('text','b')" value="op2" name="group1" /> op2<br />
	<input type="radio" onchange="check_value('text','c')" value="op3" name="group1" /> op3<br />
	<hr />
	
	<div id="text"></div>
 
	<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
 
	<div id="a" visible="false">
		aaaaa<br />
	</div>
 
	<div id="b">
		bbbbb<br />
		<select id="opciones" name="opciones" onchange="getSelected('text1',this)">
			<option value="rojo">Rojo</option>
			<option value="verde">Verde</option>
			<option value="azul">Azul</option>
		</select>
		
		<div id="text1">
			otra cosa<br />
		</div>
	
	</div>
 
	<div id="c">
		ccccc<br />
	</div>
	
	<div id="rojo">
		escogio rojo<br />
	</div>
	
	<div id="verde">
		escogio verde<br />
	</div>
	
	<div id="azul">
		escogio azul<br />
	</div>
</div>
</body>

Open in new window

0
danielnp20
Asked:
danielnp20
  • 2
  • 2
1 Solution
 
wktang83Commented:
You should use the 'onclick' event instead of 'onchange'.

According to w3schools.com (http://www.w3schools.com/jsref/jsref_onchange.asp), the onchange event is only supported by the following javascript objects: fileUpload, select, text, textarea.

Therefore, the onchange event will not work with the radio object.

Use the 'onclick' event instead. It should work with IE. I tested it on IE7 and it works well. (Not sure about IE6 though).

Please let me know if you have more questions.

Regards,
wktang83
0
 
danielnp20Author Commented:
wktang83 thx for the post, it works perfect also on ie 7 and i'll test it also in ie 6...

Finally do u know why i'm getting the message to activate 'active x' controls? and how can i disable it just to this page?

Thanks again

Regards,

Daniel Peralta
0
 
wktang83Commented:
This is because you are opening the html file locally (It is stored in your computer).

If the html file is loaded from the internet it won't prompt you for the activeX control thing.

Here are some more information about this problem I found online:

This security message only occurs if you are viewing web pages directly from your hard drive. For example,C:\myFiles\myFile.htm. (Ref. 178644)

As part of the XP SP2 Local Machine zone lockdown, Internet Explorer on XP SP2 blocks active content and scripting that tries to run in the Local Machine zone. Attackers have tried to take advantage of the Local Machine zone, so Microsoft has tightened the restrictions on what can run in this zone by default.

Source: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_19578
0
 
danielnp20Author Commented:
thx again i'll read about it
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now