Форма и ввод ключа в wicket7

У меня есть форма с текстовым полем и отправкой Ajaxbutton, когда я вставляю какое-то значение в текстовое поле, затем нажимаю кнопку отправки, выполняется некоторая бизнес-логика, написанная в OnSubmit кнопки Ajax, это нормально для нас. Но когда я вставляю какое-то значение в текстовое поле, затем нажимаю клавишу ввода, поэтому Я хочу выполнить ту же бизнес-логику, что и OnSubmit для Ajaxbutton, но она не вызывается. Пожалуйста, предложите @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);

person Nitin    schedule 24.06.2018    source источник


Ответы (1)


Вы можете сделать свою кнопку кнопкой по умолчанию формы:

filterForm.setDefaultButton(docIdInputSubmitButton);

Wicket сгенерирует для вас некоторый JavaScript, который активирует кнопку отправки при входе.

person svenmeier    schedule 24.06.2018