在我的表单中我只有一个没有按钮的字段:
add(new AutoCompleteTextField<String>("hladaneSlovo", settings) {
private static final long serialVersionUID = 1L;
@Override
protected Iterator<String> getChoices(String input) {
return new HladaneSlova().iterator();
}
}.add(new AjaxFormSubmitBehavior(this, "onsubmit") {
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit(AjaxRequestTarget target) {
setResponsePage(new VyjimkyPage(parametry));
}
@Override
protected void onError(AjaxRequestTarget target) {
}
}));
问题是当我提交这个表单(只写单词然后按回车)没有任何反应。有什么问题?
答案 0 :(得分:1)
您应该将AjaxFormSubmitBehavior添加到表单中,而不是将其添加到文本字段中。
答案 1 :(得分:1)
我之前的评论作为答案:不需要AjaxFormSubmitBehavior。您需要覆盖表单中的onSubmit():
Form form = new Form("form") {
@Override
public void onSubmit() {
// do your stuff
}
@Override
public void onError() {
// you get here in case of errors (conversion/validatio)
}
}
add(form);
form.add(...)
我不是100%确定您需要表单上的按钮。如果你需要一个html:
<form wicket:id="form">
<input type="text" wicket:id="yourAutoComplete">
<input type="submit" value="submit">
</form>
您不需要将提交输入元素与java组件相关联。但你可以尝试不使用html中的submit元素,看看它是否有效。