cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ellis Pritchard <el...@nukinetics.com>
Subject CForm Ajax: how does the continuation-id get updated?
Date Thu, 07 Jun 2007 15:46:53 GMT
Hi,

I'm obviously doing something wrong but I can't work out how the  
continuation-id is supposed to get updated when using CForms with  
Ajax and javascript flow (Cocoon 2.1.10).

My particular problem is with repeaters; I'm adding rows using the  
repeater actions, however, the continuation-id in the form is not  
being updated after the action has run, since only the updated  
widgets get sent back to the browser, and the continuation id isn't a  
widget; so if you add another row using the added repeater, you get  
an "Invalid submit id (no such widget):" exception, because you are  
still in the previous Form model, where the new row doesn't exist.

What I don't understand is how this is supposed to work at all; the  
BrowserUpdateTransformer, and JX macros (+JXMacrosHelper.java) don't  
seem to handle updating the continuation-id, i.e. sending it back to  
the browser regardless, so how is it supposed to happen?

Or am I missing something fundamental (or just mental)!


Cheers
Ellis.




My forms pipeline looks like:

             <map:match pattern="continue">
                 <map:call continuation="{request-param:continuation- 
id}"/>
             </map:match>

             <map:match pattern="main/search/form">
                 <map:generate type="newjx" src="flow/search/search- 
template.xml" label="form">
                     <map:parameter name="submitURI"  
value="{request:contextPath}/{request:sitemapURIPrefix}continue"/>
                     <map:parameter name="resources-uri"  
value="{request:contextPath}/{request:sitemapURIPrefix}resources"/>
                 </map:generate>
                 <map:transform type="browser-update" label="form-bu"/>
                 <map:transform type="i18n" label="form-i18n">
                     <map:parameter name="locale" value="en-US"/>
                 </map:transform>
                 <map:transform src="xsl/forms/forms-styling.xsl"  
label="form-styling">
                     <map:parameter name="resources-uri"  
value="{request:contextPath}/{request:sitemapURIPrefix}resources"/>
                 </map:transform>
                 <map:serialize type="xml"/>
             </map:match>

My template has:

     <ft:form action="${cocoon.parameters['submitURI']}"  
method="POST" ajax="true">

         <ft:continuation-id/>
		...

and I'm using the standard forms styling.

(I've also tried encoding the continuation in the ft:form action URL).



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message