我有文本框的表单并提交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在输入时触发提交按钮。

10-06 09:25