2016-02-15 76 views
0

我有一個單選按鈕組,如果用戶選擇一個選項,將出現相關的組合框。用戶可以鍵入單詞或只需單擊三角框即可搜索該值。單選按鈕組似乎對鼠標點擊不敏感

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

我測試了代碼,它工作正常。一旦我點擊單選按鈕,就可以顯示相關的組合框。

但是,當我的同事測試它時,他們告訴我他們通常必須單擊單選按鈕三到四次才能顯示組合框。我感到很奇怪,所以我去看看他們是如何點擊按鈕的,確實的,一個同事需要點擊三次來顯示組合框,而不管他選擇了什麼選項,而另一個同事點擊了六次來顯示。我們用同樣的電腦和相同的速度點擊鼠標再次測試,我可以通過單擊單選按鈕一次顯示組合框,但我的同事仍然需要兩到三次才能顯示組合框。

我檢查代碼,我不知道哪個部分會導致奇怪的結果。

請問有人會提供建議。謝謝。

參考文獻:

回答

2

它們在哪裏點擊?你使用的是哪個版本的Domino?我相信點擊標籤不會觸發選擇以前版本中的值。它適用於Internet Explorer和Firefox 9.0.1 FP3。這可能是由引用的此問題,但IBM鏈接不再工作,並且此問題似乎已在更高版本的Domino中得到解決。

+0

在我們之前的測試中,我們單擊單選按鈕,而不是標籤。 – beginner

+0

我們訪問[Berndt Hort](http://www.assono.de/blog/d6plinks/XPagesOnClickRadioButtonBug)網站,並將代碼應用於onclick事件並再次測試。我們將鼠標指針移動到單選按鈕上,並以相同的速度點擊鼠標。最後,我們所有人只需點擊一次即可顯示組合框。感謝您的幫助。 – beginner

0

什麼是你的同事正在使用的瀏覽器?

無線電組的onclick事件在其他瀏覽器中無法正常工作。它在IE中正常工作。 所以我們在eventHandler代碼中做了小小的調整。請注意事件的返回屬性如下:

<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()}" /> 
+0

謝謝你的回答。我們兩個人都在使用IE 11,我正在考慮這一點:代碼是在IE 11之前編寫的,它是用IE 8編寫的。我不確定這是由於IE版本不同而導致奇怪結果的原因。 – beginner