【发布时间】:2010-06-25 16:36:37
【问题描述】:
wicket 中有一些组件似乎与表单相关联,但我无法让它们实际提交表单。
例如,我可以创建一个“提交链接”或按钮,然后这些组件提交:
return new SubmitLink(id, form) {
@Override
public void onSubmit() {
this.setResponsePage(pageClass);
}
};
上面的工作。
我希望能够在更改时对单选选项执行提交。例如
new OnChangeHandler() {
@Override
public void onChange(final Object sel) {
// On submission, submit back to form
setResponsePage(Page.class);
}
// MY CONTAINER IS NOT A FORM BUT A CHILD OF A FORM (E.g. FORM -> PANEL -> RADIOCHOICE
public RadioChoice addRadioGroup(final WebMarkupContainer container, final Object modelObject,
final String groupName, final String propFieldName, final String [] optionsArr, final OnChangeHandler handler) {
final RadioChoice radioGroupYesNo = new RadioChoice(groupName, new PropertyModel(modelObject, propFieldName), Arrays.asList(optionsArr)) {
@Override
public boolean wantOnSelectionChangedNotifications() {
return (handler != null); /* When the handler is not null, enable on change */
}
@Override
public void onSelectionChanged(Object newSel) {
if (handler != null) {
handler.onChange(newSel);
} else {
super.onSelectionChanged(newSel);
}
}
};
container.add(radioGroupYesNo);
return radioGroupYesNo;
}
使用上面显示的代码,页面刷新,但我想提交表单并刷新页面。
我看不到在哪里可以将表单与 RadioChoice 相关联?
【问题讨论】: