我有一个单选按钮组,如果用户选择了一个选项,则会出现相关的组合框。用户可以输入单词或只需单击三角形框来搜索值。
<xp:table id="InfoTable" style="margin-left:100.0px">
<xp:tr>
<xp:td>
<xp:radioGroup id="radioGroup1" layout="pageDirection">
<xp:selectItem itemLabel="Number"></xp:selectItem>
<xp:selectItem itemLabel="Alphabet"></xp:selectItem>
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="InfoTable">
</xp:eventHandler>
</xp:radioGroup>
</xp:td>
<xp:td>
<xp:comboBox id="comboBox1_destRank"
dojoType="dijit.form.ComboBox" value="# {sessionScope.NumberValue}"
style="width:100.0px">
<xp:this.rendered><![CDATA[#{javascript:var x = getComponent("radioGroup1").getValue();
if(x == "Number")
{ return true; }
if(x == "Alphabet")
{ return false; }}]]></xp:this.rendered>
<xp:selectItem itemLabel="1"></xp:selectItem>
<xp:selectItem itemLabel="2"></xp:selectItem>
<xp:selectItem itemLabel="3"></xp:selectItem>
<xp:selectItem itemLabel="4"></xp:selectItem>
<xp:selectItem itemLabel="5"></xp:selectItem>
</xp:comboBox>
<xp:br></xp:br>
<xp:comboBox id="comboBox2_destPost"
dojoType="dijit.form.ComboBox"
value="#{sessionScope.AlphabetValue}" style="width:100.0px">
<xp:this.rendered><![CDATA[#{javascript:var x = getComponent("radioGroup1").getValue();
if(x == "Alphabet")
{ return true; }
if(x == "Number")
{ return false; }}]]></xp:this.rendered>
<xp:selectItem itemLabel="a"></xp:selectItem>
<xp:selectItem itemLabel="b"></xp:selectItem>
<xp:selectItem itemLabel="c"></xp:selectItem>
<xp:selectItem itemLabel="d"></xp:selectItem>
<xp:selectItem itemLabel="e"></xp:selectItem>
</xp:comboBox>
</xp:td>
</xp:tr>
</xp:table>
我测试代码并且它正常工作。单击单选按钮后,可以显示相关的组合框。
然而,当我的同事测试它时,他们告诉我他们通常必须单击单选按钮三到四次才能显示组合框。我觉得很奇怪,所以我去看他们如何点击按钮,确实一个同事需要点击三次才能显示组合框,无论他选择什么选项而另一位同事点击六次显示。
稍后,我们使用相同的计算机和相同的步伐再次单击鼠标进行测试,我可以通过单击单选按钮一次显示组合框,但我的同事仍需要两次和三次显示组合框。
我检查代码,我不知道哪个部分会导致奇怪的结果。
请有人给出建议。谢谢。
参考文献:
答案 0 :(得分:2)
他们在哪里点击?您使用的是哪个版本的Domino?我相信单击标签不会触发选择以前版本中的值。在Internet Explorer和Firefox中,它适用于9.0.1 FP3。它可能是Berndt Hort引用的这个问题,但IBM链接不再起作用,这个问题似乎已在更高版本的Domino中得到修复。
答案 1 :(得分:0)
您的同事使用的浏览器是什么?
无线电组的onclick事件在其他浏览器中无法正常工作。它在IE中运行良好。 所以我们在eventHandler代码中做了一些小调整。请注意事件的reder属性如下:
<xp:eventHandler
event="onchange"
submit="true"
refreshMode="partial"
refreshId="pnlMainTTSHF"
disableValidators="true"
id="eventHandler1"
rendered="#{javascript:!context.getUserAgent().isIE()}" />
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="partial"
refreshId="pnlMainTTSHF"
disableValidators="true"
id="eventHandler2"
rendered="#{javascript:context.getUserAgent().isIE()}" />