Xpages 在选项卡式面板中选择选项卡在我第一次单击按钮时起作用
单击按钮后,它将转到下一个选项卡,但是,如果我单击上一个选项卡来编辑某些内容,然后再次单击按钮,则不会发生任何事情。知道为什么吗?以下是按钮代码:Xpages 在选项卡式面板中选择选项卡在我第一次单击按钮时起作用,xpages,Xpages,单击按钮后,它将转到下一个选项卡,但是,如果我单击上一个选项卡来编辑某些内容,然后再次单击按钮,则不会发生任何事情。知道为什么吗?以下是按钮代码: <xp:button value="Next" id="buttonNext1"> <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="panelMain"> <xp:this.action>
<xp:button value="Next" id="buttonNext1">
<xp:eventHandler event="onclick"
submit="true" refreshMode="partial" refreshId="panelMain">
<xp:this.action><![CDATA[#{javascript:
viewScope.currentTab = "tpCompanyInformation";
}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
我看到您将的SelectedTab甚至defaultTab值绑定到您的
viewScope.currentTab
,并使用viewScope.currentTab=“id”在每个按钮中设置viewScope变量
我建议使用getComponent('tabbedPanel').setSelectedTab('tabid')
在组件中直接设置选项卡
这段代码可能会帮助您创建两个按钮(“后退”和“下一步”),无论您将向面板添加多少选项卡,这些按钮应始终作为前进和后退按钮工作
纽扣背:
<xp:button id="button1" value="back">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="tabbedPanel1">
<xp:this.action><![CDATA[#{javascript:var panel:com.ibm.xsp.component.xp.XspTabbedPanel = getComponent('tabbedPanel1');
var list:Array = panel.getChildren().toArray();
var currentTab = panel.getSelectedTab();
for(var i = 0; i < list.length;i++){
if(currentTab.equals(list[i].id)){
if(i > 0)
panel.setSelectedTab(list[i-1].id);
else
panel.setSelectedTab(list[list.length - 1].id);
}
}
}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
0)
panel.setSelectedTab(列表[i-1].id);
其他的
panel.setSelectedTab(list[list.length-1].id);
}
}
}]]>
按钮下一步:
<xp:button value="Next" id="buttonNext1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="tabbedPanel1">
<xp:this.action><![CDATA[#{javascript://
var panel:com.ibm.xsp.component.xp.XspTabbedPanel = getComponent('tabbedPanel1');
var i:java.util.Iterator = panel.getChildren().iterator();
var currentTab = panel.getSelectedTab();
while(i.hasNext()){
if(currentTab.equals(i.next().id)){
if(i.hasNext())
panel.setSelectedTab(i.next().id);
else
panel.setSelectedTab(panel.getChildren().iterator().next().id);
}
}
}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
我看到您将的SelectedTab甚至defaultTab值绑定到您的
viewScope.currentTab
,并使用viewScope.currentTab=“id”在每个按钮中设置viewScope变量
我建议使用getComponent('tabbedPanel').setSelectedTab('tabid')
在组件中直接设置选项卡
这段代码可能会帮助您创建两个按钮(“后退”和“下一步”),无论您将向面板添加多少选项卡,这些按钮应始终作为前进和后退按钮工作
纽扣背:
<xp:button id="button1" value="back">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="tabbedPanel1">
<xp:this.action><![CDATA[#{javascript:var panel:com.ibm.xsp.component.xp.XspTabbedPanel = getComponent('tabbedPanel1');
var list:Array = panel.getChildren().toArray();
var currentTab = panel.getSelectedTab();
for(var i = 0; i < list.length;i++){
if(currentTab.equals(list[i].id)){
if(i > 0)
panel.setSelectedTab(list[i-1].id);
else
panel.setSelectedTab(list[list.length - 1].id);
}
}
}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
0)
panel.setSelectedTab(列表[i-1].id);
其他的
panel.setSelectedTab(list[list.length-1].id);
}
}
}]]>
按钮下一步:
<xp:button value="Next" id="buttonNext1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="tabbedPanel1">
<xp:this.action><![CDATA[#{javascript://
var panel:com.ibm.xsp.component.xp.XspTabbedPanel = getComponent('tabbedPanel1');
var i:java.util.Iterator = panel.getChildren().iterator();
var currentTab = panel.getSelectedTab();
while(i.hasNext()){
if(currentTab.equals(i.next().id)){
if(i.hasNext())
panel.setSelectedTab(i.next().id);
else
panel.setSelectedTab(panel.getChildren().iterator().next().id);
}
}
}]]></xp:this.action>
</xp:eventHandler>
</xp:button>