<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom" dojoTheme="true"
dojoParseOnLoad="true">
<script type="text/javascript">
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.layout.TabContainer");
</script>
<xp:this.afterPageLoad>
<![CDATA[#{java script:sessionScope.put("SelectTab","");}]]>
</xp:this.afterPageLoad>
<h1>Tab Container
</h1>
<div id="mainTabContainer" dojoType="dijit.layout.TabContainer"
style="width:100%;height:50%" tabPosition="left">
<div id="tab1" dojoType="dijit.layout.ContentPane" title="First Tab" >
First Tab
</div>
<div id="tab2" dojoType="dijit.layout.ContentPane" title="Second Tab" selected="#{sessionScope.SelectTab}" >
Second Tab by SSJS
</div>
<div id="tab3" dojoType="dijit.layout.ContentPane" title="Third Tab" partialRefresh="true">
Third Tab by CSJS
<xp:br></xp:br>В xp.tabbedPanel только первая вкладка отображается при загрузке страницы, другие вкладки отображаются, когда пользователь щелкает их. Таким образом, полное или частичное обновление происходит, когда пользователь нажимает на вкладку, которая вызывает поля валидаторов.
Таким образом, в конце концов, пользователь не может открыть другую вкладку, пока все валидаторы на текущей вкладке не fullfilled.
В настоящее время не существует обходной путь или решение с использованием XP: tabbedPanel тега. Но есть хорошая альтернатива: djTabContainer.
Просто добавить контейнер Dojo Tab Control, и внутри контейнера добавить Tab области управления.
</div>
</div>
<xp:button value="Third Tab CSJS" id="button1">
<xp:eventHandler event="onclick" submit="false">
<xp:this.script><![CDATA[ var TabContainer = dijit.byId("mainTabContainer");
var subTab = dijit.byId("tab3");
TabContainer.selectChild(subTab);]]></xp:this.script>
</xp:eventHandler></xp:button>
<xp:br></xp:br>
<xp:br></xp:br><xp:button value="Second Tab SSJS" id="button2">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{java script:sessionScope.put("SelectTab","true")}]]></xp:this.action>
</xp:eventHandler></xp:button><xp:eventHandler event="onClientLoad" submit="true" refreshMode="norefresh">
</xp:eventHandler></xp:view>