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
>
>

Reply via email to