3
提交我從WebPage
得出一個簡單的FormPage
這樣定義:添加AjaxEventBehavior形成的按鈕,可以防止形式從檢票6.1和6.2
public FormPage() {
final FeedbackPanel feedback = new FeedbackPanel("feedback");
add(feedback);
final TextField<String> entry = new TextField<String>("entry");
final Button button = new Button("button");
button.add(new AjaxEventBehavior("onclick") {
@Override
protected void onEvent(final AjaxRequestTarget target) {
System.out.println("Event");
}
});
Form<DataModel> form = new Form<User>("userForm", new CompoundPropertyModel<DataModel>(dataModel)) {
@Override
protected void onValidate() {
System.out.println("Validate");
String entryValue = entry.getValue();
if (entryValue == null || entryValue.length() == 0) {
error("entry value required");
}
};
@Override
protected void onSubmit() {
System.out.println("Submit");
if (!hasErrors()) {
String entryValue = entry.getValue();
if (!entryValue.equals("value")) {
error("entry has wrong value");
}
}
};
};
form.add(entry);
form.add(button);
add(form);
}
我試圖做一些事情(在本例中只是打印到控制檯)在表單提交,所以我已經附加按鈕的onclick
事件。這很好用:按鈕點擊執行操作,但現在表單沒有被提交。
我還與
form.add(new AjaxEventBehavior("onsubmit")
試驗和此事件處理程序還可以防止表單提交。 例如,
entry.add(new AjaxEventBehavior("onclick")
允許提交表單,但事件不涉及提交。 現在我很困惑,我怎樣才能讓我的表格提交併對這個活動進行一些操作。
此代碼禁用事件並啓用提交。 – divanov