I have a form with 15 form components.  Only 14 parameters for these
components are being sent over from the form when it is submitted.

Are there any known issues with 1.2.6 that might result in this?
Potentially relevant details include:

1 -- The form is in a ModalWindow
2 -- The component is a CheckBox, and is in a WebMarkupContainer that
may or may not be visible, which in turn is in a WebMarkupContainer,
which is on the Form
3 -- This last WebMarkupContainer is the target of a separate
FormComponent's AjaxFormComponentUpdatingBehavior("onchange")
4 -- The form is submitted via an AjaxSubmitLink

The gist of things is that we have to ask whether an applicant is a
"Married Wisconsin resident" if they indicate that they are a
Wisconsin resident.  Hence, the U.S. State dropdown has an onchange
behavior that updates the outermost WebMarkupContainer for the "Are
you a married Wisconsin resident" checkbox.  If the state is "WI" then
the inner WebMarkupContainer is visible, and hence the "married WI
resident" checkbox, label & feedback border are rendered on the form.
When the form is submitted [wicket-ajax.js, line 614] all of the form
fields are submitted except this checkbox:

address1        416 Main
address2        
app_creditCardApplicationTabs_panel_creditCardForm:hf:0 
birthday        5/5/77
city    Madison
country US
email   [EMAIL PROTECTED]
firstName       Scott
homePhone       7025551111
income  88888
lastName        Swank
mothersMaidenName       fakedecision
ssn     111223333
state   WI
zipcode 630010001

The (very verbose because I've been debugging it) code follows:

                // we only ask whether the customer is a married wisconsin 
resident if they
                // are a wisconsin resident
                IModel wiResModel = new AbstractCheckBoxModel()
                {
                        private static final long serialVersionUID = 0L;

                        @Override
                        public boolean isSelected(Component component)
                        {
                                return status.getApplication().isMarried();
                        }

                        @Override
                        public void setSelected(Component component, boolean 
flag)
                        {
                                status.getApplication().setMarried(flag);
                        }
                };

                TabIndexCheckBox wisconsinResident = new
TabIndexCheckBox("wiResident", wiResModel)
                {
                        private static final long serialVersionUID = 0L;

                        @Override
                        public String[] getInputAsArray()
                        {
                                String[] input = super.getInputAsArray();
                                return input;
                        }
                };
                wisconsinResident.setEnableTabIndex(true);

                // 
model.bind(wisconsinResident).to().getApplication().getMarried();
                WebMarkupContainer wisconsinResidentVisible = new
WebMarkupContainer("wiResidentVisible")
                {
                        private static final long serialVersionUID = 0L;

                        @Override
                        public boolean isVisible()
                        {
                                return 
WISCONSIN_STATE_CODE.equalsIgnoreCase(state.getValue());
                        }
                };
                wisconsinResidentVisible.add(wisconsinResident);
                BorderFactory.addFeedbackBorder(wisconsinResident, 
wisconsinResidentVisible);
                final WebMarkupContainer wisconsinResidentWrapper = new
AjaxWrapper("wiResidentContainer");
                wisconsinResidentWrapper.add(wisconsinResidentVisible);
                add(wisconsinResidentWrapper);

                // update the wisconsin wrapper when the state changes
                state.add(new AjaxFormComponentUpdatingBehavior("onchange")
                {
                        private static final long serialVersionUID = 0L;

                        @Override
                        protected void onUpdate(AjaxRequestTarget target)
                        {
                                target.addComponent(wisconsinResidentWrapper);
                        }
                });

-- 
Scott Swank
reformed mathematician

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

Reply via email to