- From: Steven Pemberton <steven.pemberton@cwi.nl>
- Date: Thu, 9 Oct 2003 23:09:00 +0200
- To: "Roman Huditsch" <roman.huditsch@hico.com>, <www-forms@w3.org>
From: "Roman Huditsch" <roman.huditsch@hico.com>
> How would I define a "onClick"-Event in an XForms control that calls a
> Javascript function?
>
> Would it look like
> <xforms:trigger html:onClick="javascript:test();">...
No! (By the way, onClick is a bit of code, not a URL, so it should read
onclick="test();"
)
> or is there a better way to maybe omitt the "html:onClick" attribute?
Very much better.
<trigger>
<label>Test</label>
<html:script ev:event="DOMActivate"
type="text/javascript">test();</script>
</trigger>
would do nicely, assuming your host document markup allowed this, or
<trigger ev:event="DOMActivate" ev:handler="#test">
<label>Test</label>
</trigger>
where '#test' identifies a script element with id="test" that calls test();.
The XML Events method of doing what Mark Birbeck suggested
<script for="tr" event="DOMActivate" language="JavaScript">
alert('Add some code here');
</script>
is:
<script ev:observer="tr" ev:event="DOMActivate" type="text/javascript">
test();
</script>
Then the trigger would look like this:
<trigger id="tr">
<label>Test</label>
</trigger>
This would indeed allow you to have more than one handler for the same
event, as would the most general solution:
<ev:listener event="DOMActivate" observer="tr" handler="#test"/>
where the script element has id="test".
Steven Pemberton
Received on Thursday, 9 October 2003 17:09:14 UTC