Please create the issue in Jira.

On Mon, Apr 19, 2010 at 9:29 AM, Adam Derkey <adam.der...@gmail.com> wrote:
> Should I create a JIRA ticket for this or is there already one created that
> I can use to track the progress?
>
> On Fri, Apr 16, 2010 at 11:06 PM, Howard Lewis Ship <hls...@gmail.com>wrote:
>
>> I've been tracking this problem; there's a timing issue when Tapestry
>> adds a hidden field to store the t:formdata; the DOM is being streamed
>> to characters after the <input> field is added to the DOM, but before
>> it is fully configured.  It's deeply tricky stuff.
>>
>> On Fri, Apr 16, 2010 at 11:28 AM, Adam Derkey <adam.der...@gmail.com>
>> wrote:
>> > Was this the right list to send this to? Should I send to the dev list or
>> > open a jira ticket?
>> >
>> > On Wed, Apr 14, 2010 at 3:58 PM, Adam Derkey <adam.der...@gmail.com>
>> wrote:
>> >
>> >> Using Tapestry 5.2.0-SNAPSHOT
>> >>
>> >> I'm updating multiple zones after a select on Change event. The JSON
>> >> response is including an extra input field after a select field in one
>> of
>> >> the zones I'm updating. The extra input is then showing up in the
>> rendered
>> >> page in the browser. Why would tapestry be adding in an extra input
>> field?
>> >> Is there a way to do this without the extra input being returned?
>> >>
>> >> I created this example using the quickstart app and send the entire
>> project
>> >> if needed.
>> >>
>> >> Thanks
>> >> Adam
>> >>
>> >> /*
>> >>  * Form.java
>> >>  */
>> >> package com.test.pages;
>> >>
>> >> import com.test.model.GenericSelectModel;
>> >> import com.test.vo.SelectObj;
>> >> import java.util.ArrayList;
>> >> import java.util.List;
>> >> import org.apache.tapestry5.EventContext;
>> >> import org.apache.tapestry5.SelectModel;
>> >> import org.apache.tapestry5.ajax.MultiZoneUpdate;
>> >> import org.apache.tapestry5.annotations.Component;
>> >> import org.apache.tapestry5.annotations.Property;
>> >> import org.apache.tapestry5.corelib.components.Select;
>> >> import org.apache.tapestry5.corelib.components.Zone;
>> >> import org.apache.tapestry5.ioc.annotations.Inject;
>> >> import org.apache.tapestry5.ioc.services.PropertyAccess;
>> >> import org.apache.tapestry5.services.Request;
>> >>
>> >> /**
>> >>  *
>> >>  * @author aderkey
>> >>  */
>> >> public class Form {
>> >>
>> >>     @Inject
>> >>     private Request request;
>> >>
>> >>     @Inject
>> >>     private PropertyAccess propertyAccess;
>> >>
>> >>     @Component(id="selectValue1", parameters = {"model=select1Model",
>> >> "encoder=select1Model"})
>> >>     private Select select1;
>> >>
>> >>     @Property
>> >>     private SelectModel select1Model;
>> >>
>> >>     @Property
>> >>     private SelectObj selectValue1;
>> >>
>> >>     @Component(id="selectValue2", parameters = {"model=select2Model",
>> >> "encoder=select2Model"})
>> >>     private Select select2;
>> >>
>> >>     @Property
>> >>     private SelectModel select2Model;
>> >>
>> >>     @Property
>> >>     private SelectObj selectValue2;
>> >>
>> >>     @Component(id="select1ValueZone")
>> >>     private Zone select1ValueZone;
>> >>
>> >>     @Component(id="select2ValueZone")
>> >>     private Zone select2ValueZone;
>> >>
>> >>     void onActivate(EventContext ctx) {
>> >>         List<SelectObj> select1List = new ArrayList();
>> >>         select1List.add(new SelectObj(0, "0 pre ajax"));
>> >>         select1List.add(new SelectObj(1, "1 pre ajax"));
>> >>         select1List.add(new SelectObj(2, "2 pre ajax"));
>> >>         select1List.add(new SelectObj(3, "3 pre ajax"));
>> >>         select1List.add(new SelectObj(4, "4 pre ajax"));
>> >>         select1Model = new GenericSelectModel(select1List,
>> SelectObj.class,
>> >> "text", "id", propertyAccess);
>> >>
>> >>         List<SelectObj> select2List = new ArrayList();
>> >>         select2List.add(new SelectObj(0, "0 pre ajax"));
>> >>         select2List.add(new SelectObj(1, "1 pre ajax"));
>> >>         select2List.add(new SelectObj(2, "2 pre ajax"));
>> >>         select2List.add(new SelectObj(3, "3 pre ajax"));
>> >>         select2Model = new GenericSelectModel(select2List,
>> SelectObj.class,
>> >> "text", "id", propertyAccess);
>> >>     }
>> >>
>> >>     public Object onValueChangedFromSelectValue1(SelectObj selectObj) {
>> >>         System.out.println("onValueChangedSelectValue1");
>> >>         List<SelectObj> select2List = new ArrayList();
>> >>         select2List.add(new SelectObj(4, "4 post ajax"));
>> >>         select2List.add(new SelectObj(5, "5 post ajax"));
>> >>         select2List.add(new SelectObj(6, "6 post ajax"));
>> >>         select2List.add(new SelectObj(7, "7 post ajax"));
>> >>         select2Model = new GenericSelectModel(select2List,
>> SelectObj.class,
>> >> "text", "id", propertyAccess);
>> >>
>> >>         if(request.isXHR()) {
>> >>             return new MultiZoneUpdate("select1ValueZone",
>> >> select1ValueZone.getBody()).add("select2ValueZone",
>> >> select2ValueZone.getBody());
>> >>         } else {
>> >>             return this;
>> >>         }
>> >>     }
>> >>
>> >> }
>> >>
>> >> Form.tml
>> >>
>> >> <body t:type="Layout" t:title="form" t:bodyId="formPage" xmlns:t="
>> >> http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";
>> >> xmlns:p="tapestry:parameter">
>> >>     <form t:type="Form" t:id="form" t:clientValidation="false"
>> action="#">
>> >>         <select t:type="Select" t:id="selectValue1"
>> t:validate="required"
>> >> t:zone="select1ValueZone"/>
>> >>         <t:zone t:id="select1ValueZone" visible="false">Show</t:zone>
>> >>         <t:zone t:id="select2ValueZone"><select t:type="Select"
>> >> t:id="selectValue2" t:validate="required"/></t:zone>
>> >>     </form>
>> >> </body>
>> >>
>> >> JSON Response:
>> >> {"content":"","zones":{"select2ValueZone":"<select
>> >> id='selectValue2-127fe104b7d' name='selectValue2'><option value='4'>4
>> post
>> >> ajax<\/option><option value='5'>5 post ajax<\/option><option value='6'>6
>> >> post ajax<\/option><option value='7'>7 post ajax<\/option><\/select>
>> >> <input><\/input>","select1ValueZone":"Show"}}
>> >>
>> >>
>> >
>>
>>
>>
>> --
>> Howard M. Lewis Ship
>>
>> Creator of Apache Tapestry
>>
>> The source for Tapestry training, mentoring and support. Contact me to
>> learn how I can get you up and productive in Tapestry fast!
>>
>> (971) 678-5210
>> http://howardlewisship.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

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to