Dojo选项卡未加载外部html

时间:2012-06-20 06:12:28

标签: dojo tabcontainer

当我点击第二个标签时,我希望加载callrecords.html代码,但它没有加载任何内容,窗格保持空白。我有点像菜鸟,似乎无法弄清楚为什么会这样。

也是一个问题。为什么有些代码示例会说dojoType而其他代码使用data-dojo-type。

<body class="tundra">

    <div class="formContainer" dojoType="dijit.layout.TabContainer" >

        <div dojoType="dijit.layout.ContentPane" title="Advanced Search">
            <label for="first_name">First Name:</label>
            <input type="text" name="first_name" id="first_name" 
                   size="30" /><br/>
            <label for="last_name">Last Name:</label>
            <input type="text" name="last_name" id="last_name" 
                   size="30" /><br/>
            <label for="middle_initial">Middle Initial:</label>
            <input type="text" name="middle_initial" id="middle_initial" 
                   size="1" /><br/>
        </div>

        <div dojoType="dijit.layout.ContentPane" title="Call Records" data-dojo-props='href:"modules/content_panes/callrecords.html", refresnOnShow:true'></div>

        <div dojoType="dijit.layout.ContentPane" title="Phones">
            <label for="home_phone">Home Phone:</label>
            <input type="text" name="home_phone" id="home_phone" 
                   size="30" /><br/>
            <label for="work_phone">Work Phone:</label>
            <input type="text" name="work_phone" id="work_phone" 
                   size="30" /><br/>
            <label for="cell_phone">Cell Phone:</label>
            <input type="text" name="cell_phone" id="cell_phone" 
                   size="30" /><br/>
        </div>

    </div>

</body>

callrecords.html

<h1>Tab 2</h1>

<p>I am tab 2. I was loaded externally as well.</p>

1 个答案:

答案 0 :(得分:1)

夫妻俩。

1)你有一个拼写错误:refresnOnShow。应该是refreshOnShow

2)data-dojo-props仅适用于Dojo&gt; 1.7。您使用的是dojo 1.7或更高版本吗?如果没有,那将无效。

我的建议是尝试以编程方式设置窗格href:

dijit.byId('tab2').attr('href', 'modules/content_panes/callrecords.html')

看看是否有效。 dojo 1.7语法是:

require(["dojo/dom-attr"], function(domAttr){
var t = dijit.byId('tab2');
domAttr.set(t,'href','http://localhost:8080/vewpon/')
})

如果编程设置有效,那么您就知道它只是标记中的内容。


更新:为了将来参考,Dojo 1.6设置类型的方法是:dojo-type="dijit.layout.ContentPane"