Re: XForms timer

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