单选按钮组选择&改变/改变

时间:2012-07-31 20:06:59

标签: xpages

看起来像Select&我的radion按钮组没有调用Change / onChange事件。在下面的SSJS示例中,单选按钮组的onChange事件应设置编辑框的值,并进行完全更新。似乎都没有发生。

<xp:radioGroup id="radioGroup1">
    <xp:selectItem itemLabel="One"></xp:selectItem>
    <xp:selectItem itemLabel="Two"></xp:selectItem>
    <xp:selectItem itemLabel="Three"></xp:selectItem>
    <xp:eventHandler event="onchange" submit="true"
        refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:getComponent("inputText1").setValue(getComponent("radioGroup1").getValue());}]]></xp:this.action>
    </xp:eventHandler>
</xp:radioGroup>
On Select should set this:&#160;<xp:inputText id="inputText1"></xp:inputText>
<xp:br></xp:br>
Selected Value:&#160;<xp:text escape="true" id="computedField1" style="font-weight:bold"><xp:this.value><![CDATA[#{javascript:return getComponent("radioGroup1").getValue();}]]></xp:this.value></xp:text>
<xp:br></xp:br>
<xp:button value="Update" id="button1">
    <xp:eventHandler event="onclick" submit="true"
        refreshMode="complete">
    </xp:eventHandler></xp:button>
<xp:br></xp:br>

2 个答案:

答案 0 :(得分:5)

无线电组的OnChange事件在IE中无法正常工作。 OnClick事件有效。因此,您需要根据浏览器编写代码,如下所示。

<xp:radioGroup id="radioGroup1">
<xp:selectItem itemLabel="One"></xp:selectItem>
<xp:selectItem itemLabel="Two"></xp:selectItem>
<xp:selectItem itemLabel="Three"></xp:selectItem>
<xp:eventHandler event="onchange" submit="true" refreshMode="partial" refreshId="panelRadioVal" rendered="#{javascript:!context.getUserAgent().isIE()}" />
<xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="panelRadioVal" rendered="#{javascript:context.getUserAgent().isIE()}" />
</xp:radioGroup>
<xp:panel id="panelRadioVal">
    <xp:inputText value="#{javascript:getComponent('radioGroup1').getSubmittedValue()}" />
</xp:panel>

答案 1 :(得分:0)

看起来你的eventhandler中的第一个getComponent应该是“inputText1”而不是“inputText”。

另外,为什么要执行完整更新而不是部分刷新?只是想了解商业案例。