2012-07-31 64 views
0

看起来像选择&更改/ onChange事件没有为我的radion按钮组调用。在下面的SSJS示例中,单选按钮组的onChange事件应设置编辑框的值并进行完整更新。两者似乎都没有发生。单选按钮组选择并更改/ 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> 

回答

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> 
0

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

此外,为什么执行完整更新而不是部分刷新?试图了解商业案例。

+0

这是一个错字。相信我的事件永远不会被召唤。我正在进行全面更新的原因是,它只是我提到的一个演示。我并不担心效率。 – 2012-07-31 20:35:35

+0

尝试将值设置为硬编码以确认onChange触发。然后尝试使用getSubmittedValue()获取单选框的值。 – 2012-07-31 21:41:36