2012-07-31 30 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