OK.

I found where that convenience method (partialFormSenderID) is used:

ERXAjaxContext's private method _wasFormSubmitted()

This also appears to be the same except it's been deprecated...

Johnny


Begin forwarded message:

> From: Johnny Miller <[email protected]>
> Subject: Re: Ajax Framework Bug?
> Date: November 27, 2012 10:00:46 AM HST
> To: Farrukh Ijaz <[email protected]>
> Cc: Amedeo Mantica <[email protected]>, WebObjects Development 
> <[email protected]>
> 
> Hi Farrukh,
> 
> In my "real" component I had set fullSubmit to false but I omitted it in the 
> example.  I just tried it anyway and unfortunately it still calls the method 
> someOtherArrayOfStrings.
> 
> If you track it down the difference between fullSubmit true and false is that 
> the javascript submit function for the Ajax Request is generated by the 
> method ASB.partial(updateContainerID, formFieldID, options)
> 
> Which has this interesting little note on top of it:
> 
>                       // We need to cheat and make the WOForm that contains 
> the form action appear to have been
>                       // submitted. So we grab the action url, pull off the 
> element ID from its action URL
>                       // and pass that in as FORCE_FORM_SUBMITTED_KEY, which 
> is processed by ERXWOForm just like
>                       // senderID is on the real WOForm. Unfortunately we 
> can't hook into the real WOForm to do
>                       // this :(
> 
> I checked that function against an older version of Wonder on my computer and 
> it doesn't appear to have been changed.  An interesting part of this function 
> is the following line of code:
> 
> queryParams[AjaxSubmitButton.PartialFormSenderIDKey] = formField.name;
> 
> in ERAjaxApplication there is this final variable:
> 
> public static final String KEY_PARTIAL_FORM_SENDER_ID = "_partialSenderID";
> 
> Which corresponds to what is in the javascript file.  But I can't find 
> anywhere where this variable is referenced other than in this convenience 
> method in ERAjaxApplication:
> 
>       /**
>        * Returns the form name of the partial form submission.
>        * 
>        * @param request
>        *            the request
>        * @return the form name of the partial form submission
>        */
>       public static String partialFormSenderID(WORequest request) {
>               return 
> request.stringFormValueForKey(ERXAjaxApplication.KEY_PARTIAL_FORM_SENDER_ID);
>       }
> 
> So, I'm kind of lost at this point.  If anyone has an idea I sure would 
> appreciate hearing it.
> 
> Aloha,
> 
> Johnny
> 
> 
> On Nov 27, 2012, at 2:01 AM, Farrukh Ijaz 
> <[email protected]> wrote:
> 
>> Hi Johnny,
>> 
>> There is a binding called fullSubmit for AjaxObserveField. Set it to false. 
>> That should solve the problem I believe.
>> 
>> http://jenkins.wocommunity.org/job/WonderIntegration/lastBuild/javadoc/er/ajax/AjaxObserveField.html
>> 
>> Farrukh
>> 
>> On Nov 17, 2012, at 8:42 PM, Johnny Miller <[email protected]> wrote:
>> 
>>> Hi Amedeo,
>>> 
>>> Actually, I think they were work the same way.  But I tried for sanity's 
>>> sake and it still is doing the same thing.
>>> 
>>> Johnny
>>> 
>>> On Nov 16, 2012, at 10:06 PM, Amedeo Mantica <[email protected]> wrote:
>>> 
>>>> I'm on iPhone now btw
>>>> 
>>>> <wo:AjaxUpdateContainer observeFieldID
>>>> 
>>>> Is weird. You should use AjaxObserveField
>>>> 
>>>> Amedeo
>>>> 
>>>> Sent from my iPhone
>>>> 
>>>> On 17/nov/2012, at 03:13, Johnny Miller <[email protected]> wrote:
>>>> 
>>>>> Hi,
>>>>> 
>>>>> I recently updated my Wonder Frameworks and I have a question about 
>>>>> something I am seeing.
>>>>> 
>>>>> One of my components broke and I'm thinking that either I misunderstand 
>>>>> something or something in Ajax Framework has now changed.
>>>>> 
>>>>> Given the following example:
>>>>> 
>>>>>           <wo:form>
>>>>>                   <wo:popUpButton list = "$arrayOfStrings" selection = 
>>>>> "$selectedString" id = "StringSelector"></wo:popUpButton>
>>>>>                   <wo:AjaxUpdateContainer observeFieldID = 
>>>>> "StringSelector">
>>>>>                           <wo:WOKeyValueConditional key = 
>>>>> "selectedString" value = "String Two">
>>>>>                                   String Two Is Selected
>>>>>                           </wo:WOKeyValueConditional>
>>>>>                   </wo:AjaxUpdateContainer>
>>>>>           </wo:form>
>>>>>           <wo:repetition list = "$someOtherArrayOfStrings" item = 
>>>>> "$aString"><br/>
>>>>>                   <wo:str value = "$aString" />
>>>>>           </wo:repetition>
>>>>> 
>>>>> 
>>>>> I would assume that when the value of the pop up button changes only the 
>>>>> contents of the AjaxUpdateContainer would get touched.  However, if I put 
>>>>> a logging statement on someOtherArrayOfStrings I can see that it gets 
>>>>> called.  It's like it is processing the whole component all over again.
>>>>> 
>>>>> Is that the way it is supposed to work or has a bug been introduced?
>>>>> 
>>>>> Aloha,
>>>>> Mr. Johnny Miller
>>>>> Web Development Manager
>>>>> Kahalawai Media Company
>>>>> Lahaina, HI 96761
>>>>> tel: (808) 661-7962 | mobile: (808) 283-0791
>>>>> website | e-mail  
>>>>> 
>>>>> _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Webobjects-dev mailing list      ([email protected])
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>> https://lists.apple.com/mailman/options/webobjects-dev/amedeomantica%40me.com
>>>>> 
>>>>> This email sent to [email protected]
>>> 
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list      ([email protected])
>>> Help/Unsubscribe/Update your Subscription:
>>> https://lists.apple.com/mailman/options/webobjects-dev/farrukh.ijaz%40fuegodigitalmedia.com
>>> 
>>> This email sent to [email protected]
>> 
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to