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]

Reply via email to