Hi Paul!

Have a look on the defer param of the submit component.

I think your submit component should look like:
<t:submit t:event="RemoveLocation" t:context="${location.hashCode()}"
defer="true"/>

Best regards,
Gerry

2011/5/16 Paul Stanton <p...@mapshed.com.au>

> Tapestry 5.1.0.5
>
> Hi all,
>
> I'm having a problem with the following code:
>
> <t:form t:id="locationsForm" t:zone="myZone">
> <t:loop t:source="locations" t:value="location"
> t:encoder="locationEncoder">
> <t:textfield t:value="location.name" />
> <t:submit t:event="RemoveLocation" t:value="remove ${location.hashCode()}"
> t:context="${location.hashCode()}" />
> </t:loop>
> <t:submit t:value="save" />
> </t:form>
>
> Say I end up with the following buttons:
>
> <input type="submit" name="button" id="button" value="remove 12339020">
> <input type="submit" name="button" id="button" value="remove 2504658">
>
> Clicking on either button will only ever trigger the event
> 'onRemoveLocation' with the context '2504658'.
>
> I'm guessing the second submit component is overriding the event handler
> registered by the first, so they both end up calling the second components
> event handler.
>
> I have tried setting the clientId to something unique but that did not
> help.
>
> I need the remove buttons to submit the same form since the user may update
> the name of one element and remove the second in the same operation.
>
> Advice appreciated, p.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to