我想要的:
下面是我的按钮代码:
@Override
protected void onInitialize() {
add(createOkLink());
}
private IndicatingAjaxLink<Void> createOkLink() {
final IndicatingAjaxLink<Void> ret = new IndicatingAjaxLink<Void>("okLink") {
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target) {
//when I click on it, this button (link) should not be enabled while the rest of the methods are not finished.
method1(); //about 2-5 seconds running time
method2(); //about 2-5 seconds running time
method3(); //about 2-5 seconds running time
feedback.success("success");
target.add(feedback);
//after every method has finished, the button should be clickable againg
}
};
ret.setOutputMarkupId(true);
return ret;
}
我希望有人能帮我!
我用的是Wicket 6。
发布于 2014-02-25 18:07:16
final Form<?> form = new Form<>("form");
form.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true);
add(form
.add(new FeedbackPanel("feedback"))
.add(new AjaxButton("button") {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
info(System.currentTimeMillis());
target.add(form);
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);
attributes.getAjaxCallListeners().add(new AjaxCallListener()
.onBefore("$('#" + getMarkupId() + "').prop('disabled',true);")
.onComplete("$('#" + getMarkupId() + "').prop('disabled',false);"));
}
}));
https://stackoverflow.com/questions/22017244
复制相似问题