javascript - Is there a working dojo tabContainer can successfully reload in a contentPane? -


i not lazy have tried many ways try reload div(id=refreshable) contains dojo tabcontainer(id=dojotabbedpane). each time after reloading page content in each tab show 1 stack(the tabs missing).

i did research, ask questions, , use dijit.byid("dojotabbedpane").destroyrecursive(); before jquery load , call dojo.parser.parse(dojo.byid("dojotabbedpane")); after re load never works.

so, please, can share simple snippet can show me tabcontainer can right container refreshed? swear try many theoretical way , should work can show me simple code let me see works?

i don't know how paste big chunk of code here otherwise give base sample interested can revise, here have prepared tabcontainer dojo website, please me work out. !!

<script type="text/javascript"  src="dojo/dojo/dojo.js"   djconfig="parseonload: true"></script>   <script type="text/javascript" > function refresh_data(url, id) { j('#'+id).load(url+' #'+id+' > *', function (response) {       dojo.parser.parse(dojo.byid("dojotabbedpane")); }); } </script> <script type="text/javascript">     var login_url = '<spring:url value="/login" />';      j(function() {         setinterval('refresh_data("file:///d:/dojo/dojo.tabbed.pane_very_good.html?hash="+math.random(), "refreshable");', 9000);      });     // disables errors in ie7     function noerror(){return true;}     window.onerror = noerror; </script> <style type="text/css">  @import "dojo/dijit/themes/tundra/tundra.css";  </style> <script type="text/javascript"> dojo.require("dojo.parser"); dojo.require("dijit.layout.tabcontainer"); dojo.require("dijit.layout.contentpane"); </script> </head> <body class="tundra">     <!-- div documentation purpose, in real development environments, take out --> <div style="width: 350px; height: 300px"> <div data-dojo-type="dijit.layout.tabcontainer" style="width: 100%; height: 100%;">     <div data-dojo-type="dijit.layout.contentpane" title="my first tab" selected="false">         lorem ipsum , around...     </div>     <div data-dojo-type="dijit.layout.contentpane" title="my second tab"  selected="true">         lorem ipsum , around - second...     </div>     <div data-dojo-type="dijit.layout.contentpane" title="my last tab" closable="true">         lorem ipsum , around - last... </div> </div> </div> </body> 

its question regarding jquery, whether or not load has allready set innerhtml of #replaceable @ time complete callback runs.. uncomment timeout lines 'unhook' , let load mechanism finish before calling parser. try this:

<div id="replaceable">  </div>  <script> function refresh_data(url, id) {    var w = dijit.byid("dojotabbedpane"),       domnode = dojo.byid(id);   if(w)  w.destroyrecursive();    j(domnode).load(url+' #'+id+' > *', function (response) {       // settimeout(function() {          dojo.parser.parse(domnode);          w = dijit.byid("dojotabbedpane");          w.resize(dojo.getmarginbox(domnode));       // }, 200);    }); }  dojo.addonload(function() {     var login_url = '<spring:url value="/login" />';     setinterval('refresh_data("file:///d:/dojo/dojo.tabbed.pane_very_good.html?hash="+math.random(), "refreshable");', 9000);  }); </script> 

Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -