3

我有一个只包含一个 TextField 和一个按钮的表单。我注意到,如果我根据需要设置文本字段并单击按钮,我会收到相应的反馈消息。

但是,当我有一个 AjaxButton(这是我需要的,因为我需要使用 AjaxRequestTarget 执行回调方法)时,我看不到反馈消息,除非我重新加载。在调试时,我注意到表单的 onSubmit 方法被调用(也是 onError),但是 AjaxButton 的 onSubmit 方法没有被调用

你建议我怎么做才能看到反馈消息调用回调方法?

        Form<Void> form = new Form<>("form");

        // added the textfield too

        form.add(new AjaxButton("startButton") {
            private static final long serialVersionUID = 1L;

            protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                // some action
                target.add(this);
            }

        });
        add(form);

        <form wicket:id="form">
            <table>
                <tbody>
                    <tr>
                        <!-- some stuff -->
                    </tr>
                    <tr>
                        <td><input type="submit" wicket:id="startButton" class="roundedButton"></input></td>
                    </tr>
                </tbody>
            </table>
        </form>
4

1 回答 1

3

我看不到您的整个代码,但您可能需要在触发 onError 时将 FeedbackPanel 添加到 AjaxRequestTarget。

于 2020-04-26T19:45:17.163 回答