Okay, actually replacing t:ajaxformloop with t:loop and setting p:defer to
false helps to resolve this.
Thanks for your feedback.


On Sun, Aug 25, 2013 at 10:20 AM, Ilya Obshadko <[email protected]>wrote:

> Furthermore, replacing t:ajaxformloop with t:loop doesn't help it either.
> Will investigate t:submit source code.
>
>
> On Sun, Aug 25, 2013 at 10:07 AM, Ilya Obshadko 
> <[email protected]>wrote:
>
>> Thank you. Original LinkSubmit has exactly the same issue.
>>
>>
>> On Sunday, August 25, 2013, Michael Gentry wrote:
>>
>>> Hi Ilya,
>>>
>>> I was struggling with the same exact problem yesterday.  Apparently
>>> the AjaxFormLoop doesn't work like a regular Loop and the submit
>>> handler always receives the last iteration value/context.  Even using
>>> t:defer on the Submit didn't help.  I ended up using a LinkSubmit*
>>> with some CSS to make it look like a button and enough t:context
>>> parameters to allow me to figure out which "button" was being clicked
>>> on.
>>>
>>> mrg
>>>
>>> * We have our own custom version of LinkSubmit (which I didn't write,
>>> but is based upon the original) which has a comment at the top about
>>> making LinkSubmit handle t:context correctly in loops.  I don't know
>>> if that was an old issue which is resolved now or if it will impact
>>> you, but wanted to mention it in case LinkSubmit doesn't work for you.
>>>
>>>
>>> On Sat, Aug 24, 2013 at 8:32 AM, Ilya Obshadko <[email protected]>
>>> wrote:
>>> > I have t:ajaxformloop iterating over a property and t:submit using
>>> context
>>> > values from the loop. Code looks like:
>>> >
>>> > @Property
>>> > private SomeType iteratedValue;
>>> >
>>> > void onSelectedFromDoSomething ( SomeType iteratedValue ) {
>>> >   // some stuff depends on iteratedValue here
>>> > }
>>> >
>>> > ----
>>> >
>>> > <t:zone t:id="zoneName">
>>> > <t:ajaxformloop p:source="source" p:value="iteratedValue">
>>> >   <!-- some code here -->
>>> >   <t:submit t:id="doSomething" p:context="iteratedValue"
>>> p:zone="zoneName"/>
>>> >   <!-- some code there -->
>>> > </t:ajaxformloop>
>>> > </t:zone>
>>> >
>>> > At the time of submit iteratedValue *always* contains last iterated
>>> value
>>> > from the loop. Apparently I'm getting wrong results in the end: no
>>> matter
>>> > where submit was clicked, handler always receives the value from the
>>> last
>>> > loop iteration. Any hints how to fix this?
>>> >
>>> >
>>> > --
>>> > Ilya Obshadko
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>> --
>> Ilya Obshadko
>>
>>
>>
>
>
> --
> Ilya Obshadko
>
>


-- 
Ilya Obshadko

Reply via email to