<t:ajaxformloop source="comparisons" value="currentcomparison" encoder="comparisonsencoder"> <t:parameter name="addRow"> <t:addrowlink>Add a Comparison</t:addrowlink> </t:parameter> <t:submitnotifier> <t:removerowlink>Remove</t:removerowlink> </t:submitnotifier> </t:ajaxformloop>
Shouldn't there be a TextField or something in there? The rather odd error is that Tapestry has to "hunt around" to find a conforming location to add a hidden field; typically inside a <p> or before an <input> tag. Your AjaxFormLoop has, effectively, no body and so no content gets written, and Tapestry can't figure out where to add the hidden field. On Wed, Apr 22, 2009 at 11:52 AM, zack1403 <zack.mann...@gmail.com> wrote: > > When I upgraded to 5.1.0.2 my AjaxFormLoops throw exceptions upon trying to > add a row. Remove row links still work and the transaction is getting > committed even when there is an exception. Ie, if I refresh the page after > blackbird shows the exception I can see my added row. I have trimmed down > my code to the simplest possible AjaxFormLoop example and an exception is > still being thrown. Should I be returning something other than an Object > from my onAddRow method? > > Exception: > > [ERROR] 35:15 > (DefaultRequestExceptionHandler.java:handleRequestException:62) Processing > of request failed with uncaught exception: The rendered content did not > include any elements that allow for the positioning of the hidden form > field's element. > java.lang.IllegalStateException: The rendered content did not include any > elements that allow for the positioning of the hidden form field's element. > at > org.apache.tapestry5.corelib.internal.HiddenFieldPositioner.getElement(HiddenFieldPositioner.java:74) > at > org.apache.tapestry5.corelib.components.FormInjector$1.renderMarkup(FormInjector.java:234) > at > org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62) > at > org.apache.tapestry5.corelib.components.AjaxFormLoop$10.renderMarkup(AjaxFormLoop.java:415) > at > org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62) > at > org.apache.tapestry5.internal.services.PageRenderQueueImpl.renderPartial(PageRenderQueueImpl.java:159) > > Page class snippet: > > @CommitAfter > public Comparison onAddRow() { > return new Comparison(); > } > > Template snippet: > <t:ajaxformloop source="comparisons" value="currentcomparison" > encoder="comparisonsencoder"> > <t:parameter name="addRow"> > <t:addrowlink>Add a Comparison</t:addrowlink> > </t:parameter> > <t:submitnotifier> > <t:removerowlink>Remove</t:removerowlink> > </t:submitnotifier> > </t:ajaxformloop> > > Any help would be much appreciated. > -- > View this message in context: > http://www.nabble.com/AjaxFormLoop-Exception-on-5.1.0.2-upgrade-tp23175801p23175801.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Howard M. Lewis Ship Creator of Apache Tapestry Director of Open Source Technology at Formos --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org