Hi,

I hope someone can help me with the following problem.

I have a simple radiogroup (two options) with a formfragment linked to
the second option (html and java below). The formfragment appears when
klicking OptionB but the server-side processing will not be done.

The server-side processing wil be performed if the formfragment is
initially visible. But it does not work if it is initially invisible
and will be activated by user-interaction.

Strangely it works with a simple trick: add the validation-attribute
to the textfield inside the formfragment like this:

<t:textfield t:id="valueB" validate="required"/>

In this case "setValueB" will be called!

But this does not help if you have for example a checkbox inside the
formfragment which does not allow the validate-attribute.

It seems that the "hidden field to track its client-side visibility"
is not updated properly. Or am I missing something?

Thanks in advance,
Peer.


----------------
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
  <body>
    <t:form>

      <t:radiogroup t:id="option">
        <t:radio t:id="optiona"/>Option A<br/>
        <t:radio t:id="optionb" t:mixins="triggerfragment"
fragment="fragmentB"/>Option B<br/>
      </t:radiogroup>

      <t:formfragment t:id="fragmentB" t:visible="bChoosen">
        Value B: <t:textfield t:id="valueB" validate="required"/>
      </t:formfragment>

      <input type="submit" value="Submit"/>

    </t:form>
  </body>
</html>

----------------

public class RadioTest {

        public enum Options {OPTIONA, OPTIONB};
        @Persist
        private Options option;
        @Persist
        private String valueB;
        
        public Options getOption () {
                return option;
        }
        public void setOption (Options option) {
                this.option=option;
        }
        public Options getOptionA() {
                return Options.OPTIONA;
        }
        public Options getOptionB() {
                return Options.OPTIONB;
        }
        public boolean getBChoosen () {
                return option==Options.OPTIONB;
        }
        public String getValueB() {
                return valueB;
        }
        public void setValueB(String valueB) {
                this.valueB = valueB;
        }
}

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

Reply via email to