關於提交按鈕我想禁用按鈕,所以用戶不會單擊多次。 IM使用jquery爲,但其沒有工作,我的代碼是禁用按鈕提交點擊jquery
setTimeout($('#btn').attr("disabled", true), 1);
return true;
按鈕得到禁止,但我的控制器不調用。我究竟做錯了什麼?
關於提交按鈕我想禁用按鈕,所以用戶不會單擊多次。 IM使用jquery爲,但其沒有工作,我的代碼是禁用按鈕提交點擊jquery
setTimeout($('#btn').attr("disabled", true), 1);
return true;
按鈕得到禁止,但我的控制器不調用。我究竟做錯了什麼?
setTimeout(function() {
$('#btn').attr('disabled', 'disabled');
}, 1);
我的控制器代碼沒有調用。就像它禁用按鈕時,請求被停止了嗎? – 2010-09-10 08:03:47
我發現在click事件中禁用按鈕會阻止在某些版本的IE中提交表單。我已經發布了一個解決方案http://stackoverflow.com/questions/2294041/disable-the-button-after-clicking-the-button-once/4218820#4218820 – 2010-11-18 19:43:20
試試這個:
setTimeout($('#btn').attr('disabled', 'disabled'), 1);
return true;
您正在將jQuery對象傳遞給'setTimeout',IMO,它不是可調用的,也不是'eval'的字符串:) – 2010-09-10 07:52:34
我看不出有任何理由使用超時,我只是去與
$('#btn').attr('disabled', 'disabled');
return true;
或者更準確地說,
$('#btn').click(function (e) {
$(this).attr('disabled', 'disabled');
});
是你所需要的。
,可能有點邪惡和深奧:P
return !!$('#btn').attr('disabled', 'disabled');
而且,只是爲了好玩。不要在你的代碼中做! :)
編輯:用最新版本的jQuery,你可以把它
$('#btn').attr('disabled', true);
setTimeout($('#btn').attr('disabled', 'disabled),1);
$("#btn").removeAttr('disabled', disabled')
爲什麼使用'setTimeout'? – jAndy 2010-09-10 07:50:49