我有文本框的表单并提交Ajaxbutton,当我在文本框中插入一些值然后单击“提交”按钮时,将执行一些用Ajaxbutton的OnSubmit编写的业务逻辑,对我们来说很好,但是当我在文本框中插入一些值然后按Enter键时,我想执行与Ajaxbutton的OnSubmit相同的业务逻辑,但未调用,请建议使用@ martin-g。我想使用检票口代码而不是JavaScript。
下面是我的应用程序中的代码。
<Form wicket:id="FilterForm">
<input type="textbox" wicket:id="input"></input>
<input type="submit" wicket:id="submit"/>
</Form>
对于Java代码:
final Form filterForm = new Form("FilterForm"){}
add(filterForm);
filterForm.setMarkupId("filterForm");
filterForm.setOutputMarkupId(true);
TextField<String> docIdInput = new TextField("input", new PropertyModel(this.searchObj, "searchString"));
filterForm.add(docIdInput);
docIdInput.setOutputMarkupId(true);
AjaxButton docIdInputSubmitButton = new AjaxButton("submit") {
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
//do buisness logic
}
filterForm.add(docIdInputSubmitButton);
最佳答案
您可以将按钮设为表单的默认按钮:
filterForm.setDefaultButton(docIdInputSubmitButton);
Wicket将为您生成一些JavaScript,这些JavaScript在输入时触发提交按钮。