- From: Erik Bruchez <ebruchez@orbeon.com>
- Date: Thu, 27 Apr 2006 10:58:04 -0700
- To: Xforms W3C WG <www-forms@w3.org>
What about:
<xforms:timer id="my-timer" timeout="1000" repeat="true"/>
The timer will just fire an event, for example "xforms-timer", when
necessary.
<xforms:timer id="my-timer" timeout="1000" repeat="true">
<xforms:send ev:event="xforms-timer" submission="background-save"/>
</xforms:timer>
You probably need actions and/or events to start and stop a timer as well.
But it looks easier than the Javascript below, no? ;-)
-Erik
Allan Beaufour wrote:
> On 4/26/06, Erik Bruchez <ebruchez@orbeon.com> wrote:
>> If you can't do it directly with XForms, how do you do it, with Javascript?
>
> <html xmlns="http://www.w3.org/1999/xhtml"
> xmlns:ev="http://www.w3.org/2001/xml-events"
> xmlns:xforms="http://www.w3.org/2002/xforms">
> <head>
> <title>Timer</title>
> <script type="text/javascript">
> function timer() {
> var ev = document.createEvent("Events");
> ev.initEvent("increment", true, true);
> document.getElementById("setv").dispatchEvent(ev);
> window.setTimeout(timer, 1000);
> }
>
> window.setTimeout(timer, 1000);
> </script>
> <xforms:model>
> <xforms:instance xmlns="">
> <data xmlns="">
> <counter>1</counter>
> </data>
> </xforms:instance>
> <xforms:setvalue id="setv" ref="counter" value=". + 1"
> ev:event="increment"/>
> </xforms:model>
> </head>
> <body>
> <xforms:output ref="counter">
> <xforms:label>Counter: </xforms:label>
> </xforms:output>
> </body>
> </html>
>
> --
> ... Allan
>
--
Orbeon - XForms Everywhere:
http://www.orbeon.com/blog/
Received on Thursday, 27 April 2006 17:58:15 UTC