<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

Reply via email to