Hi All,

I have a simple requirement in which I want to display two different
messages on Form Submit depending on whether or not the text field is filled
in . The way I thought it should work is if I use combination of AjaxButton,
WebMarkupContainer,<wicket:enclosure> and by overriding isVisible().
The flow of sample application is. ..
1. When the Page Loads(first-time) it displays.."Not found" (which means
nothing has been entered in textfield).[This is working as expected]
2. When I type in something to textfield and submit the form--it should
display "Found" but its not displaying that message.[Not working as
expected]
3. Also, When i clear the textfield and re-submit the form it should display
"Not found".But this also does not happen.[Not working as expected]

In short, the state of the WebMarkupcontainer never gets updated after
intial load.
Can someone point out what am I missing?

Here is the code.

SamplePage.html

<body>
        <form wicket:id="myForm">
                <input type="text" wicket:id="sampleText" />
                <input type="submit" wicket:id="sampleSubmit" />
                <div wicket:id="resultContainer">
                        <wicket:enclosure>
                                [YES]
                        </wicket:enclosure>
                        <wicket:enclosure>
                                [NO]
                        </wicket:enclosure>             
                </div>
        </form>
</body>

SamplePage.java

public class SamplePage extends WebPage {
        public SamplePage() {
                add(new SampleForm("myForm"));
        }

        private class SampleForm extends Form {
                public SampleForm(String id) {
                        super(id);
                        final SimplePOJO pojo = new SimplePOJO();
                        setModel(new CompoundPropertyModel(pojo));
                        add(new TextField("sampleText", new PropertyModel(pojo,
                                        "sampleText")));

                        final WebMarkupContainer resultContainer = new 
WebMarkupContainer(
                                        "resultContainer");
                        resultContainer.setOutputMarkupId(true);
                        resultContainer.add(new Label("gotResults", "Found...") 
{
                                public boolean isVisible() {
                                        return pojo.getSampleText() != null;
                                }
                        });
                        resultContainer.add(new Label("noResults", "Not 
found...") {
                                public boolean isVisible() {
                                        return pojo.getSampleText() == null;
                                }
                        });

                        add(new AjaxButton("sampleSubmit") {
                                protected void onSubmit(AjaxRequestTarget 
target, Form f) {
                                        // If javascript is enabled on user's 
browser.                                  
                                        
pojo.setSampleText(pojo.getSampleText());
                                        if (target != null) {
                                                // refresh the component.
                                                
target.addComponent(resultContainer);
                                        }
                                }
                        });

                        add(resultContainer);
                }

        }
}


SimplePOJO.java

public class SimplePOJO implements Serializable{
        
        private String sampleText;

        /**
         * @return the sampleText
         */
        public String getSampleText() {
                return sampleText;
        }

        /**
         * @param sampleText the sampleText to set
         */
        public void setSampleText(String sampleText) {
                this.sampleText = sampleText;
        }

}


-- 
View this message in context: 
http://www.nabble.com/Enclosure-%2B-AjaxButton-tp18338994p18338994.html
Sent from the Wicket - User mailing list archive at Nabble.com.


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

Reply via email to