Thanks for the reply!

Sorry about the example, the references were indeed wrong in my example but
the code was using the right references. My problem was when I would refer
to myDiv.updateFreq it would be undefined. But when I used your simple
script I was able to get the div widget and access the updateFreq. 

But it turned out that even if i changed the updateFreq my refresh interval
wouldn't work. So I took your advice and did a watch using firebug and
discovered there was a timer object and an interval property. Turns out
that's the one you have to modify.

So I ended up with the following code:

var myDiv = dojo.widget.byId("myDivId");
myDiv.timer.interval = newInterval;

Also you need to restart the timer by stopping it and starting again for the
new interval to take effect. Would there be some kind of function I can use
to change the interval or this is the only way?

Thanks again for the reply!



Jeromy Evans - Blue Sky Minds wrote:
> 
> Your code references "quoteDetails" but the div you provided is 
> "myDivId".  Other than that I don't see anything wrong with it. 
> updateFreq should be writeable using your approach although I haven't 
> tried it.
> 
> Try a simple script:
> 
>  var myWidget = dojo.widget.byId("myDivId");
>   myWidget.updateFreq = 10;
> 
> Use a breakpoint in FireBug to ensure the widget is found and that the 
> updateFreq member is public.
> 
> Hope that helps,
> Jeromy Evans
> 
> Grish wrote:
>> Ok I've made some progress but now i'm stuck. What I did was have a a div
>> tag
>>
>>  <s:div id="myDivId" theme="ajax" href="%{url}" formId="frmMyForm" 
>>           showLoadingText="false" updateFreq="5000" autoStart="false" 
>>           startTimerListenTopics="/startTimer"
>> stopTimerListenTopics="/stopTimer" />
>>
>> then I have select box 
>>
>> <s:select id="refreshEvery" onchange="updateFreq(this)" list="myList" />
>>
>> then on my updateFreq function i have the following:
>>
>> function updateFreq(obj) {
>>       
>>       
>>       if (obj.selectedIndex == 0) {
>>         dojo.event.topic.publish("/stopTimer");
>>       } 
>>       else {
>>         // get Div and update frequency
>>         var quoteDiv = dojo.byId("quoteDetails");
>>         quoteDiv.updateFreq = obj.options[obj.selectedIndex].value;
>>         dojo.event.topic.publish("/startTimer");
>>       }
>>       
>> }
>>
>> Right now everything is working except the change to the updateFreq. When
>> the timer starts it still keeps with the 5 second interval Is it possible
>> to
>> access this property and change it?
>>
>>
>>
>> Grish wrote:
>>   
>>> Hi,
>>>
>>> I'm having a hard time trying to implement this - I want to have a
>>> select
>>> box containing options for the user to select the update frequency of my
>>> div tag. So my select box has "no refresh", "30 seconds", "60 seconds",
>>> "120 seconds" and depending on what the user selects the frequency will
>>> change. 
>>>
>>> I was thinking i could make a topic to change the updateFreq parameter
>>> then with the onchange event with the select tag i'll make a call for
>>> that
>>> topic:
>>>
>>> dojo.event.topic.subscribe("/changeRefresh", function(data, type,
>>> request)
>>> {
>>>   // code to change the updateFreq of the div tag
>>> }
>>>
>>> <s:select
>>> onchange="onchange="dojo.event.topic.publish('/changeRefresh')"
>>> ......
>>>
>>> I just don't know how to access the div tag and change the updateFreq
>>> parameter. I tried using the dojo.byId("myDivId") function but it didn't
>>> work. Suggestion on how to do this?
>>>
>>> Also just curious as to why there's no type variable when i call my
>>> topic
>>> from an event like onchange, it's always undefined. 
>>>
>>>     
>>
>>   
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Triggering-topics-tf4722712.html#a13640865
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to