如何在Wicket中单击它后设置按钮enabled = false?
发布时间:2020-12-16 01:36:40 所属栏目:百科 来源:网络整理
导读:我想要的是: 如果我点击一个按钮,它应该不启用(不可点击) 在其他方法(点击)完成之前,只有AFTER 方法的结束. 这是我的按钮代码: @Overrideprotected void onInitialize() { add(createOkLink());}private IndicatingAjaxLinkVoid createOkLink() { final In
我想要的是:
>如果我点击一个按钮,它应该不启用(不可点击) 这是我的按钮代码: @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. 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);")); } })); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |