0

看起来我的单选按钮组没有调用 Select & 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>
4

2 回答 2

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>
于 2012-07-31T22:04:13.573 回答
0

看起来您的事件处理程序中的第一个 getComponent 应该是“inputText1”而不是“inputText”。

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

于 2012-07-31T20:24:44.473 回答