2010-11-11 36 views
1

我在網頁上有一個asp.net按鈕。使用javascript&OnClientClick設計按鈕

OnClientClick代碼禁用該按鈕,以便用戶不能多次提交。 它也將按鈕的文本更改爲「請稍候...」

迄今爲止所有的好!

問題是,因爲它正在禁用「Please wait ...」文本看起來很垃圾...... 如何設置按鈕樣式,以便即使禁用它,它也會在javascript中啓用。

<script type="text/javascript"> 
    function btnSubmit_ClientClick(Client) { 
     var ok = Page_ClientValidate(); 
     if (ok) { 


      Client.style.color = 'White'; 
      Client.style.backgroundColor = '#9A4D9E'; 

      Client.value = 'Please wait...'; 
      Client.disabled = true; 
     } 
    } 
</script> 

開始編輯的:

這裏的啓用按鈕:

enabled

,這裏是禁用的按鈕: disabled

...正如你所看到的文字是一種灰色和白色?

爲了進一步清晰起見,@ user503034建議在CSS中使用[disabled]。 這裏是我的代碼,但是我仍然有同樣的問題:

button[disabled]:active, button[disabled], input[type="reset"][disabled]:active, input[type="reset"][disabled], input[type="button"][disabled]:active, input[type="button"][disabled], select[disabled] > input[type="button"], select[disabled] > input[type="button"]:active, input[type="submit"][disabled]:active, input[type="submit"][disabled] 
{ 
    color: Green; 
    background-color: #9A4D9E; 
    cursor: default; 

} 
+0

你發佈的代碼似乎是正確的 - 它不適合你嗎?它有什麼問題? – Oded 2010-11-11 15:41:14

+0

嗨,是的,它確實工作....但它看起來**像一個禁用的按鈕...我希望它看起來像一個啓用按鈕。 謝謝! – BIDeveloper 2010-11-11 15:42:31

+0

我的觀點是,你已經改變了風格 - 爲什麼不把它看起來像一個啓用的按鈕?爲啓用的按鈕設置一個CSS類,並在按鈕上進行切換。 – Oded 2010-11-11 15:44:49

回答

1

你可以試試這個

<script type="text/javascript"> 
function btnSubmit_ClientClick(Client) { 
    var ok = Page_ClientValidate(); 
    if (ok) { 


     Client.style.color = 'White'; 
     Client.style.backgroundColor = '#9A4D9E'; 

     Client.value = 'Please wait...'; 
     if (Client.ClassName.indexOf("disabled")>0) 
      return false; 
     else 
      Client.ClassName += " disabled"; 
    } 
} 

這不會完全禁用按鈕,但它不會讓你點擊它。現在你可以任何你想要的方式來設計它。如果這是表單上的提交按鈕,您也可以在表單上執行onSubmit並在那裏返回false,以防止某人只是按Tab鍵並按Enter鍵。可能不是你正在尋找的東西,但它可以完成這項工作。

如果您想在此之後禁用按鈕並設置其樣式,請使用user503034中的建議進行一次額外更改,而不是在CSS中執行[禁用],執行input [disabled =「disabled」]輸入。禁用,可以在所有主流瀏覽器上使用。

+0

感謝您的回覆......也喜歡這個想法......當我嘗試並運行時,我得到: 'ClassName'爲空或不是對象 – BIDeveloper 2010-11-12 08:27:13

+0

這是因爲你的按鈕沒有類..只要做一個檢查在使用ClassName之前爲null。 – 2010-11-12 14:28:43

+0

謝謝 - 這正是我所追求的 - 非常感謝。 – BIDeveloper 2010-11-18 14:53:33

0

也許that是你在找什麼。

+0

嗯......我試過......是的,我可以改變按鈕的樣式 - 但 - 文字保持不變 - 換句話說,我不認爲這是解決方案。爲了清楚起見,我將代碼添加到了原始問題中。 – BIDeveloper 2010-11-12 11:06:40