我想在调用方法之前禁用按钮 换句话说,我想将一些代码作为线性执行。
这是代码
@Listen("onClick = #kodIsteButtonId")
public void kodIste() {
k = kd.findKisiByKullaniciadi(kullaniciadiId.getValue());
if (k == null) {
Messagebox.show("Böyle bir kullanıcı bulunamadı!", "Hata Mesajı",
0, Messagebox.ERROR);
} else {
kodIsteButtonId.setDisabled(true);
countDown(10, 6, k);
}
}
private void countDown(int fromToZero, int sleepTime, Kisiler k) {
tempPassword = rasgeleYeniSifre();
sendEposta(k.getEposta(), tempPassword);
alert("Güvenlik kodu e-postanıza gönderildi.");
while (fromToZero > 0) {
try {
Thread.sleep(sleepTime * 1000);
} catch (Exception e) {
e.printStackTrace();
}
fromToZero--;
}
sifreAlButtonId.setDisabled(false);
clearButtonId.setDisabled(false);
kodId.setDisabled(false);
}
当我点击按钮时,我想看到它被禁用 但是在运行countDown()方法之后,它仍然处于启用状态。
可能是什么原因?
答案 0 :(得分:3)
原因是当您从服务器获得回复时,该按钮会禁用
对于您的情况,这是public void kodIste()
完成的时刻。
最简单的解决方案是使用autodisable:
<button autodisable="self" />
禁用并自动启用按钮 如果您想控制按钮何时必须再次启用,您可以执行以下操作:
<button autodisable="+self" />