Still impossible to manage to have this zone update using the form inside
the zone.

>From the browser console, I can see that the content of the partial render
response contains what is needed for the zone to be updated :

(...)
 "inits" : [    {      "formEventManager" : [        {
"formId" : "manageForm_13a8936acde",          "validate" : {
 "submit" : true,            "blur" : true          }        }      ]
  },    {      "linkZone" : [        {          "linkId" :
"manageForm_13a8936acde",          "url" : "/my/page/url.manageform",
        "zoneId" : "zoneToRefresh"        }      ],
(...)

But this doesn't seem to be used.

2012/10/22 Thomas Cucchietti <thomas.cucchie...@gmail.com>

> Hello Thiago,
>
> I did it by setting explicitely the "id" (on top of the "t:id") parameter
> of the form to "manageForm", but it keeps adding some random value at the
> end of this (for example "manageForm_13a88baf8ea").
>
> Something is missing for the clientid to be static?
>
>
> 2012/10/22 Thiago H de Paula Figueiredo <thiag...@gmail.com>
>
>> Or provide explicit static ids instead of letting them be autogenerated
>> by Tapestry.
>>
>>
>> On Mon, 22 Oct 2012 11:45:18 -0200, Thomas Cucchietti <
>> thomas.cucchie...@gmail.com> wrote:
>>
>>  I keep on trying a way to get this working.
>>>
>>> In a previous discussion (see the end of Christian's answer
>>> here<http://markmail.org/**thread/w6s3jtmwwfw6vfnx#query:**
>>> +page:1+mid:jbwboaocfw4lkjqj+**state:results<http://markmail.org/thread/w6s3jtmwwfw6vfnx#query:+page:1+mid:jbwboaocfw4lkjqj+state:results>
>>> >),
>>>
>>> a workaround for the null id could be the use of a HeartBeat to defer the
>>> evaluation of the client id value.
>>>
>>> had someone already given it a go?
>>>
>>> 2012/10/22 Thomas Cucchietti <thomas.cucchie...@gmail.com>
>>>
>>>  I tried to manually link the zone to the form, but with no success.
>>>>
>>>>     @BeginRender
>>>>     void fixZoneAjaxSupport() {
>>>>         Link link = resources.createEventLink("**manualLinkToZone",
>>>> null);
>>>>         clientBehaviorSupport.**linkZone("manageForm", "zoneToRefresh",
>>>> link);
>>>>     }
>>>>
>>>>
>>>> The "linkzone" in Tapestry.init() is updated and contains :
>>>>
>>>>     {
>>>>     "linkId" : "manageForm",
>>>>     "url" : "/my/url/to/page:**manualLinkToZone",
>>>>     "zoneId" : "zoneToRefresh"
>>>>     }
>>>>
>>>> However, as the manageForm has random generated number added to its
>>>> client
>>>> id, it won't be taken into account...
>>>>
>>>> Even if I inject the manageForm into my page, as it isn't initially
>>>> present in the page but only after a first zone update, it's null and I
>>>> have no way to know the exact client id of my form.
>>>>
>>>> After some additional search (thanks markmail!), it seems that this
>>>> clientId will always be uniquefied as the form is contained in the zone.
>>>>
>>>> Anybody has a clue on my first mail? or at least on the workaround I'm
>>>> trying to find?
>>>>
>>>> Thomas
>>>>
>>>>
>>>> 2012/10/22 Thomas Cucchietti <thomas.cucchie...@gmail.com>
>>>>
>>>>  Hello,
>>>>>
>>>>> Is the following behavior intended, as it may be a bug ?
>>>>>
>>>>> With this structure :
>>>>>
>>>>> <t:zone t:id="zoneToRefresh" id="zoneToRefresh">
>>>>>    <t:delegate to="activeBlock"/>
>>>>> </t:zone>
>>>>>
>>>>> <t:block t:id="empty">
>>>>>    <!-- empty block -->
>>>>> </t:block>
>>>>>
>>>>> <t:block t:id="manageBlock">
>>>>>    <t:form t:id="manageForm" zone="zoneToRefresh">
>>>>>             <t:radiogroup t:value="manage">
>>>>>                 <input type="radio" t:type="radio" t:value="true"/>
>>>>>                 Yes
>>>>>                 <input type="radio" t:type="radio" t:value="false"/>
>>>>>                 No
>>>>>             </t:radiogroup>
>>>>>
>>>>>             <t:submit value="Submit form"/>
>>>>>    </t:form>
>>>>> </t:block>
>>>>>
>>>>> (I don't have included the button that refresh the zone the first time)
>>>>>
>>>>> The method getActiveBlock() return the emptyBlock when the page
>>>>> initially
>>>>> loads, then it returns the manageBlock once the refresh button is hit.
>>>>>
>>>>> The problem is that the form contained in the manageBlock doesn't
>>>>> refresh
>>>>> the zone in Ajax, and reload the whole page instead.
>>>>>
>>>>> From what I've searched, it seems that, when the manage block is
>>>>> rendered, the "zone" parameter of the manageForm is null (see line 356
>>>>> of
>>>>> Form.class, in beginRender method) whereas it should be valued with the
>>>>> zoneToRefresh.
>>>>>
>>>>> I have already encoutered similar errors : the forms and actionlinks
>>>>> that
>>>>> should fire ajax reloads, fire page reload instead when they have not
>>>>> been
>>>>> rendered at the initial page loading.
>>>>>
>>>>> Regards,
>>>>> Thomas
>>>>>
>>>>>
>>>>
>>>>
>>
>> --
>> Thiago H. de Paula Figueiredo
>>
>> ------------------------------**------------------------------**---------
>> To unsubscribe, e-mail: 
>> users-unsubscribe@tapestry.**apache.org<users-unsubscr...@tapestry.apache.org>
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>>
>

Reply via email to