so you are saying that:
when the page renders none of the fields are shown. after submit,
however, myobject.getfield1() is still "field1value" but
myobject.getfield2() is null - which implies that textfield2 is still
processed even though it is inside an enclosure that has been hidden?

if so, then yes, please file a bug.

-igor


On Mon, Mar 3, 2008 at 11:02 AM, Edvin Syse <[EMAIL PROTECTED]> wrote:
> It seems that the value for fields that are made invisible because a 
> surrounding enclosure is actually lost on submit of the form.
>
>  Consider the following code:
>
>  public class HomePage extends WebPage {
>      private MyObject myObject;
>
>      public HomePage(final PageParameters parameters) {
>         myObject = new MyObject();
>         myObject.setField1("field1Value");
>         myObject.setField2("field2Value");
>
>         Form f = new Form("f", new CompoundPropertyModel(myObject));
>         add(f);
>
>         f.add(new TextField("field1").setVisible(false));
>         f.add(new TextField("field2"));
>
>         f.add(new Button("submit") {
>                 @Override public void onSubmit() {
>                         System.out.println("Field 2 value should be 
> 'field2Value' but is : " + myObject.getField2());
>                 }
>         });
>      }
>
>      class MyObject implements Serializable {
>         private String field1;
>         private String field2;
>
>                 public String getField1() {
>                         return field1;
>                 }
>                 public void setField1(String field1) {
>                         this.field1 = field1;
>                 }
>                 public String getField2() {
>                         return field2;
>                 }
>                 public void setField2(String field2) {
>                         this.field2 = field2;
>                 }
>      }
>  }
>
>  With the following markup:
>
>  <form wicket:id="f">
>         <wicket:enclosure child="field1">
>                 <input type="text" wicket:id="field1"/>
>                 <input type="text" wicket:id="field2"/>
>         </wicket:enclosure>
>         <input type="submit" wicket:id="submit"/>
>  </form>
>
>  Field1 keeps it's value onSubmit, but the value for field2 is lost, and my 
> model object has null in field2. If I implicitly call
>  setVisible(false) on the TextField for field2, the value is kept onSubmit.
>
>  Can someone confirm that this is a bug? Incase I'll create a JIRA-issue for 
> it and attach a quickstart.
>
>  -- Edvin
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to