The line below
pojo.setSampleText(pojo.getSampleText());
should be ignored.
Thanks,
nanotech wrote:
>
> 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-tp18338994p18339061.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]