This one is really confusing me or maybe I am missing something. However, the a4j support tag does not allow the value evaluation on any input field (inputText, inputCalender etc) unless the field is disabled. Here's what I mean:
<s:decorate template="layout/edit.xhtml">
<ui:define name="label">Timeline</ui:define>
<h:selectOneMenu id="timeline" value="#{selectedTimeline}" required="false"
immediate="true" valueChangeListener="#{task.timelineSelected}">
<s:selectItems id="timelinelst" value="#{timelineList}"
var="timeline" label="#{timeline.description}"
noSelectionLabel="Select..." hideNoSelectionLabel="false" />
<s:convertEntity />
<a:support event="onchange" reRender="timelinedates" ajaxSingle="true"/>
</h:selectOneMenu>
</s:decorate>
<a:outputPanel id="timelinedates">
<s:decorate template="layout/edit.xhtml">
<ui:define name="label">Start Timeline</ui:define>
<t:inputCalendar id="startdatecal" renderAsPopup="true"
renderPopupButtonAsImage="true"
popupDateFormat="MM.dd.yyyy"
value="#{selectedTimeline.startDate}" required="true">
<f:convertDateTime pattern="MM/dd/yyyy" />
</t:inputCalendar>
</s:decorate>
</s:decorate>
</a:outputPanel>