Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

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

Posted on 2008-10-06
4
Medium Priority
?
3,234 Views
Last Modified: 2013-12-08
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
Comment
Question by:danielnp20
  • 2
  • 2
4 Comments
 
LVL 3

Accepted Solution

by:
wktang83 earned 2000 total points
ID: 22656102
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
 

Author Closing Comment

by:danielnp20
ID: 31503490
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
 
LVL 3

Expert Comment

by:wktang83
ID: 22656225
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
 

Author Comment

by:danielnp20
ID: 22656509
thx again i'll read about it
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Q&A with Course Creator, Mark Lassoff, on the importance of HTML5 in the career of a modern-day developer.
When you put your credit card number into a website for an online transaction, surely you know to look for signs of a secure website such as the padlock icon in the web browser or the green address bar.  This is one way to protect yourself from oth…
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

916 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question