Thanks for the fix on this. Do you know when a new build will be added to the snapshot repository so I can pin to it? The last build I am seeing in the repository is from 4/22.
On Mon, Apr 19, 2010 at 12:41 PM, Howard Lewis Ship <hls...@gmail.com>wrote: > 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 > >