我试图通过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的值。这里需要帮助。感谢。
答案 0 :(得分:2)
日历(和其他组件)由JavaScript对象支持,该对象具有您需要的方法。
使用#{rich:component('startDate')}
或RichFaces.$('startDate')
获取对该对象的引用,然后调用resetValue()
。
对于其他方法,请检查docs