IE 11的日期选择器问题(使用JavaScript,JSF)在刷新后工作但在刷新之前没有问题

时间:2014-11-06 16:51:00

标签: javascript jsf

我在jsf的{​​{1}}的xhtml文件中使用Javascript作为datepicker。它在Firefox中运行良好,但在IE 11上运行不正常。

<h:panelGrid id="expirationPanel">
<h:selectOneRadio id="  "layout=" " style="height:75px;" value="#{ManagedBean.xxxx}">                                                               
<f:selectItem itemValue="no" itemLabel=""/>
<f:selectItem itemValue="yes" itemLabel=""/>
<a4j:support event="onclick" action="#{ManagedBean.yyyy}" immediate="true" oncomplete="reRenderexPanel()"/>                         
</h:selectOneRadio>

<h:panelGrid id="expdPanel" columns="1" style="height:70px;">
<div style="margin-top:8px;">
<h:panelGrid id="zzzz" columns="1" style="height:22px;">
<h:outputText value="#{bundle.cet_never}" style="color:black;font-size:12px;" />
</h:panelGrid>  
</div>
<h:panelGrid id="ex" columns="2" style="height:40px;">
<r:calendar value="#{ManagedBean.ed}" id="ed" datePattern="yyyy-MM-dd" showApplyButton="false" locale="en_US" enableManualInput="true" converter="dateConverter"    
disabled="#{ManagedBean.ieDisabled()}">                             
<f:validator validatorId="checkvaliddate" />    
<f:attribute name="butClick" value="createUserForm:expirationDate:butClick" />                                                              
</r:calendar>   
<h:message for="exDate" />
</h:panelGrid>
</h:panelGrid>
</h:panelGrid>

当我更改单选按钮时有两个单选按钮,然后在IE11中刷新后它无效。

1 个答案:

答案 0 :(得分:0)

我发现两个可能的原因导致你的问题不那么令人耳目一新:

  • 立即属性设置为true会导致JSL生命周期跳过验证和更新模型阶段。
  • 你不能让jsf框架本身使用reRender来更新你的expirationPanel组件而不是通过js oncomplete来做它吗?

<a4j:support event="onclick" action="#{ManagedBean.yyyy}" reRender="expirationPanel"/>