0

我正在尝试通过 java 脚本重置 rich:calender 输入框的值,但根本无法做到这一点。我的表单的用户界面(仅限片段)是......

 <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 的值。这里需要帮助。谢谢。

4

1 回答 1

2

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

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

对于其他方法,请查看文档

于 2013-07-28T21:43:46.827 回答