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-tp18338994p18341266.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]