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]