2010-06-16 2 views
3

구속력 나는 달력 팝업/GUI 모든 것이 작동 벌금을 사용하여 날짜를 변경하고있을 때Richfaces 일정 수동 입력 값이

<rich:calendar id="startDate" value="#{myBean.dateSet.startDate}" 
       timeZone="#{myBean.dateSet.timeZone}" 
       datePattern="#{myBean.dateSet.datePattern}" 
       enableManualInput="true" immediate="true"> 
     <a4j:support event="onchanged" action="#{myBean.adjustEndDate}" 
        reRender="startDate,endDate" ajaxSingle="true" /> 
</rich:calendar> 

로 정의 richfaces 달력 구성 요소를 가지고있다.

그러나 입력 텍스트 필드를 통해 값을 변경하면 해당 값이 myBean.dateSet.startDate로 업데이트되지 않습니다. 달력 구성 요소 자체에서 올바르게 업데이트되고 있습니다 (예 : 캘린더 아이콘을 클릭하면 팝업은 업데이트 된 현재 날짜를 보여줍니다).

값을 올바르게 myBean으로 업데이트 할 수있는 방법에 대한 제안 사항은 무엇입니까?

감사합니다.

답변

2

oninputchange 이벤트는 수동 변경을 추적하는 이벤트입니다.

1

이것이 도움이되는지 잘 모르겠지만 입력 텍스트 필드에서 값을 가져 오려면 <calId>InputDate으로 참조하십시오. 따라서 귀하의 경우, 입력 텍스트 필드는 ID가 startDateInputDate입니다. 어떻게 든 도움이되기를 바랍니다!

1

Max Katz와 같은 rich : calendar 구성 요소 내에서 oninputchange 이벤트를 사용할 수 있습니다. 예를 들어

: 도움이

<rich:calendar 
    ... 
    oninputchange="invokeCalendarOnChange(event,'#{rich:clientId('$idOfTheCalendar')}')" 
    ... 
</rich:calendar> 

function invokeCalendarOnChange(event, id) { 
    var c = RichFaces.$(id); 
    c.invokeEvent("change", RichFaces.getDomElement(c.id), event, c.selectedDate); 
} 

희망!

관련 문제