使用javascript重置rich:jsf表单上的日历值

时间:2013-07-28 12:23:12

标签: javascript jsf richfaces

我试图通过java脚本重置rich:calender输入框的值,但根本无法完成。我的表单的UI(仅限代码段)是......

 <rich:calendar id="startDate" datePattern="dd MMM yyyy"                    value="#{classBean.startDate}" popup="true" onchanged="calcDuration();">
 </rich:calendar>

java脚本是

    function calcDuration()
{
sdate =$('frm_course:startDate').component.getSelectedDateString("dd MMM 
   yyyy");
   var currentdate = new Date();
   var sdatecmp = new Date(sdate);          

   if(sdatecmp > currentdate)
{
 alert('The Start Date is Greater than today!');
$('frm_viewCourseDetail:startDate').component.value = ""; // 1
     document.getElementById('frm_course:startDate').value =""; // 2     
}
  }        

第1行和第2行都没有重置richcalender的值。这里需要帮助。感谢。

1 个答案:

答案 0 :(得分:2)

日历(和其他组件)由JavaScript对象支持,该对象具有您需要的方法。

使用#{rich:component('startDate')}RichFaces.$('startDate')获取对该对象的引用,然后调用resetValue()

对于其他方法,请检查docs