Rerender component after change of calendar element
wurzelbutz Feb 10, 2009 2:10 PMHello
In my code i want to render a input field only when a date has been set. but that doesn't work ;)
here is my xhtml code:
<h:form id="zeiten"> <h:panelGrid id="panel" columns="2" > <a4j:outputPanel id="calendar" layout="block"> <rich:calendar id="enddatum" value="#{test.date}" popup="true" locale="de/DE" datePattern="dd.MM.yyyy" showApplyButton="false" cellWidth="24px" cellHeight="22px" style="width:200px" required="false"> <a4j:support event="onchanged" reRender="inputStart,inputEnde,testdate" action="#{taskAction.setDate('date')}" ajaxSingle="false"/> </rich:calendar> </a4j:outputPanel> </h:panelGrid> <h:outputText value="#{test.date}" id="testdate"/> <h:inputText value="#{test.start}" rendered="#{!empty test.date}" id="inputStart"> <a4j:support event="onkeyup" reRender="dauer" action="#{taskAction.duration}"/> </h:inputText> </:h:form>
After changing the date, the action from the support tag gets called (there i just set the selected date to an other property). the output field with id "testdate" is rerendered and displayed correctly but the input field with id "inputStart" is not displayed.
i tried changing the event to ondateselected, onclick, onblur, onchanged but that makes no difference.
i added a a4j:log which gives me following output:
debug[20:04:28,562]: Have Event [object Object] with properties: target: [object HTMLTableCellElement], srcElement: [object HTMLTableCellElement], type: click debug[20:04:28,562]: Query preparation for form 'zeiten' requested debug[20:04:28,562]: Append hidden control zeiten with value [zeiten] and value attribute [zeiten] debug[20:04:28,562]: Append text control zeiten:enddatumInputDate with value [12.02.2009] and value attribute [null] debug[20:04:28,562]: Append hidden control zeiten:enddatumInputCurrentDate with value [02/2009] and value attribute [02/2009] debug[20:04:28,562]: Append text control zeiten:j_id27 with value [] and value attribute [] debug[20:04:28,562]: Append text control zeiten:kontaktID with value [] and value attribute [null] debug[20:04:28,562]: Append hidden control javax.faces.ViewState with value [j_id23] and value attribute [j_id23] debug[20:04:28,562]: parameter zeiten:j_id14 with value zeiten:j_id14 debug[20:04:28,562]: Look up queue with default name debug[20:04:28,562]: NEW AJAX REQUEST !!! with form: zeiten debug[20:04:28,562]: Start XmlHttpRequest debug[20:04:28,562]: Reqest state : 1 debug[20:04:28,562]: QueryString: AJAXREQUEST=_viewRoot&zeiten=zeiten&zeiten%3AenddatumInputDate=12.02.2009&zeiten%3AenddatumInputCurrentDate=02%2F2009&zeiten%3Aj_id27=&zeiten%3AkontaktID=&javax.faces.ViewState=j_id23&zeiten%3Aj_id14=zeiten%3Aj_id14& debug[20:04:28,562]: Reqest state : 2 debug[20:04:28,687]: Reqest state : 3 debug[20:04:28,687]: Reqest state : 4 debug[20:04:28,687]: Reqest end with state 4 debug[20:04:28,687]: Response with content-type: text/xml;charset=UTF-8 debug[20:04:28,687]: Full response content: <?xml version="1.0"?> <html xmlns="http://www.w3.org/1999/xhtml"><head><title></title><link class="component" href="/ProjectTicket/a4j/s/3_3_0.GAorg/richfaces/renderkit/html/css/basic_classes.xcss/DATB/eAF7sqpgb-jyGdIAFrMEaw__" rel="stylesheet" type="text/css" /><link class="component" href="/ProjectTicket/a4j/s/3_3_0.GAorg/richfaces/renderkit/html/css/extended_classes.xcss/DATB/eAF7sqpgb-jyGdIAFrMEaw__" media="rich-extended-skinning" rel="stylesheet" type="text/css" /><script src="/ProjectTicket/a4j/g/3_3_0.GAorg.ajax4jsf.javascript.PrototypeScript" type="text/javascript"> </script><script src="/ProjectTicket/a4j/g/3_3_0.GAorg.ajax4jsf.javascript.AjaxScript" type="text/javascript"> </script><script src="/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/events.js" type="text/javascript"> </script><script src="/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/utils.js" type="text/javascript"> </script><script src="/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/json/json-dom.js" type="text/javascript"> </script><script src="/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/scriptaculous/effects.js" type="text/javascript"> </script><script src="/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/jquery/jquery.js" type="text/javascript"> </script><script src="/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/JQuerySpinBtn.js" type="text/javascript"> </script><script src="/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/calendar.js" type="text/javascript"> </script><link class="component" href="/ProjectTicket/a4j/s/3_3_0.GAorg/richfaces/renderkit/html/css/calendar.xcss/DATB/eAF7sqpgb-jyGdIAFrMEaw__" rel="stylesheet" type="text/css" /><script src="/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/skinning.js" type="text/javascript"> </script></head><body><span id="zeiten:testdate">Tue Feb 10 20:04:28 CET 2009</span><span id="zeiten:inputStart" onkeyup="A4J.AJAX.Submit('_viewRoot','zeiten',event,{'similarityGroupingId':'zeiten:j_id15','parameters':{'zeiten:j_id15':'zeiten:j_id15'} ,'actionUrl':'/ProjectTicket/task.seam'} )"></span><input id="zeiten:inputEnde" type="text" name="zeiten:inputEnde" onkeyup="A4J.AJAX.Submit('_viewRoot','zeiten',event,{'similarityGroupingId':'zeiten:j_id23','parameters':{'zeiten:j_id23':'zeiten:j_id23'} ,'actionUrl':'/ProjectTicket/task.seam'} )" /><meta name="Ajax-Update-Ids" content="zeiten:testdate,zeiten:inputStart,zeiten:inputEnde" /><span id="ajax-view-state"><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id23" /></span><meta id="Ajax-Response" name="Ajax-Response" content="true" /></body></html> debug[20:04:28,687]: Header Ajax-Expired not found, search in <meta> debug[20:04:28,687]: search for elements by name 'meta' in element #document debug[20:04:28,687]: Find <meta name='Ajax-Update-Ids' content='zeiten:testdate,zeiten:inputStart,zeiten:inputEnde'> debug[20:04:28,687]: Find <meta name='Ajax-Response' content='true'> debug[20:04:28,687]: Header Ajax-Update-Ids not found, search in <meta> debug[20:04:28,687]: search for elements by name 'meta' in element #document debug[20:04:28,703]: Find <meta name='Ajax-Update-Ids' content='zeiten:testdate,zeiten:inputStart,zeiten:inputEnde'> debug[20:04:28,703]: Update page by list of rendered areas from response zeiten:testdate,zeiten:inputStart,zeiten:inputEnde debug[20:04:28,703]: search for elements by name 'script' in element #document debug[20:04:28,703]: <script> in response with src=/ProjectTicket/a4j/g/3_3_0.GAorg.ajax4jsf.javascript.PrototypeScript debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: <script> in response with src=/ProjectTicket/a4j/g/3_3_0.GAorg.ajax4jsf.javascript.AjaxScript debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: <script> in response with src=/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/events.js debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: <script> in response with src=/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/utils.js debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: <script> in response with src=/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/json/json-dom.js debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: <script> in response with src=/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/scriptaculous/effects.js debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: <script> in response with src=/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/jquery/jquery.js debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: <script> in response with src=/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/JQuerySpinBtn.js debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: <script> in response with src=/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/calendar.js debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: <script> in response with src=/ProjectTicket/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/skinning.js debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: search for elements by name 'link' in element #document debug[20:04:28,703]: <link> in response with src=/ProjectTicket/a4j/s/3_3_0.GAorg/richfaces/renderkit/html/css/basic_classes.xcss/DATB/eAF7sqpgb-jyGdIAFrMEaw__ debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: <link> in response with src=/ProjectTicket/a4j/s/3_3_0.GAorg/richfaces/renderkit/html/css/extended_classes.xcss/DATB/eAF7sqpgb-jyGdIAFrMEaw__ debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: <link> in response with src=/ProjectTicket/a4j/s/3_3_0.GAorg/richfaces/renderkit/html/css/calendar.xcss/DATB/eAF7sqpgb-jyGdIAFrMEaw__ debug[20:04:28,703]: Such element exist in document debug[20:04:28,703]: call getElementById for id= org.ajax4jsf.queue_script debug[20:04:28,703]: Update page part from call parameter for ID zeiten:testdate debug[20:04:28,703]: call getElementById for id= zeiten:testdate debug[20:04:28,703]: Replace content of node by replaceChild() debug[20:04:28,703]: Update part of page for Id: zeiten:testdate successful debug[20:04:28,703]: Update page part from call parameter for ID zeiten:inputStart debug[20:04:28,703]: call getElementById for id= zeiten:inputStart warn[20:04:28,703]: Node for replace by response with id zeiten:inputStart not found in document debug[20:04:28,703]: Update page part from call parameter for ID zeiten:inputEnde debug[20:04:28,703]: call getElementById for id= zeiten:inputEnde warn[20:04:28,703]: Node for replace by response with id zeiten:inputEnde not found in document debug[20:04:28,703]: call getElementById for id= org.ajax4jsf.oncomplete debug[20:04:28,703]: Processing updates finished, no oncomplete function to call debug[20:04:28,703]: call getElementById for id= ajax-view-state debug[20:04:28,703]: Hidden JSF state fields: [object HTMLElement] debug[20:04:28,703]: Namespace for hidden view-state input fields is undefined debug[20:04:28,703]: search for elements by name 'input' in element span debug[20:04:28,703]: Replace value for inputs: 19 by new values: 1 debug[20:04:28,703]: Input in response: javax.faces.ViewState debug[20:04:28,703]: Found same input on page with type: hidden debug[20:04:28,703]: Found same input on page with type: hidden debug[20:04:28,703]: Found same input on page with type: hidden debug[20:04:28,703]: Found same input on page with type: hidden debug[20:04:28,703]: search for elements by name 'INPUT' in element span debug[20:04:28,703]: Replace value for inputs: 19 by new values: 0 debug[20:04:28,703]: call getElementById for id= _A4J.AJAX.focus debug[20:04:28,703]: No focus information in response
i can see an error here
warn[20:04:28,703]: Node for replace by response with id zeiten:inputStart not found in document
but i don't know why this error occurs.
I hove you've got a clue what is going wrong.
br hugo