Hi Richard,

Thanks for the reply. I am using 1.3.3
I will update to 1.3.4 and try again.

Thanks,
Rachit


richardwilko wrote:
> 
> There was a bug in enclosure in 1.3.3, where it wouldn't call isVisible
> after the first time (fixed in 1.3.4) which version are you using?
> 
> 
> 
> 
> nanotech wrote:
>> 
>> 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-tp18338994p18341732.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