0

我们有一个 AjaxButton,例如:

add(new AjaxButton("ajax-cancel-button", form) {
    private static final long serialVersionUID = 839803820502260006L;

    @Override
    protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
        super.updateAjaxAttributes(attributes);
        attributes.getAjaxCallListeners().add(new ConfirmCallListener(833L));
    }

    @Override
    protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
        // repaint the feedback panel so that it is hidden
        target.add(feedback);

        // DO ACTION
    }
});

ConfirmCallListener 看起来像这样:

public class ConfirmCallListener extends AjaxCallListener {
    private static final long serialVersionUID = 7355235720213137963L;

    public ConfirmCallListener(long id) {
        onPrecondition("if (!confirm('Do you want this')) {" 
                + js + "; return false;}");
    }
}

我现在想要的是当用户在“确认”对话框中按下“取消”(NOT Ok)时捕获 JavaScript 事件。当用户按下“确定”时,我可以捕捉到事件。但我也想对“取消”事件做出反应(因为当用户按下取消时,一些加载栏应该消失)。

如何捕捉确认框的取消事件?

谢谢!塞巴斯蒂安

4

0 回答 0