PDA

View Full Version : [RESOLVED] onchange += another function ?


robkar97
12-17-2008, 05:17 AM
Is there a way to append instructions to existing "onchange" event handlers later in the script?

Let's say I got something like this:


<html>
<body>
<select id="myform" onchange="alert('Hi, ' + this.value)">
<option value="bob">Bob</option>
<option value="mike">Mike</option>
</select>

[...]

<script type="text/javascript">
document.getElementById('myform').onchange += function(){alert('How are things today?')};
//this will NOT work...
</script>

</body>
</html>

rangana
12-17-2008, 05:34 AM
<script type="text/javascript">
var el = document.getElementById('myform');
el.addEventListener?el.addEventListener('change',function()
{
alert('How are things today?');
},false):
el.attachEvent('onchange',function()
{
alert('How are things today?');
}); // FF : IE
</script>


For further reading:
http://www.quirksmode.org/js/events_advanced.html
http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-Registration-interfaces
http://www.captain.at/howto-addeventlistener-attachevent-parameters.php

Hope that helps.

robkar97
12-17-2008, 07:08 AM
Thanks! Just the thing I wanted.