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]