2011-09-09 43 views
1

好吧現在我有了這個複選框,這是啓用/禁用我的表單提交按鈕。檢查按鈕是否被禁用,然後提醒HTML Onclick

我只是有啓用/禁用此代碼

onclick="if(this.checked){this.form.submit_btn.disabled=false}else{this.form.submit_btn.disabled=true};this.blur();" 

現在我只是想知道怎樣才能讓這個,如果他們點擊該按鈕被禁用時,有它一定的提醒他們信息。

這樣一個onclick事件添加到按鈕,並將它像

if(this.disabled=true){alert('Button disabled!');} 

或類似的東西?我對所有onclick的東西都很陌生。

感謝

+1

我不認爲這是尤爲必要 - 瀏覽器風格禁用的按鈕看起來是這樣的,看到因爲沒有采取行動(或「按鈕按下」造型被應用)單擊該按鈕時,你不要當不需要告知用戶該按鈕被禁用的另一個通知。 – Bojangles

+0

onClick在禁用按鈕時不會工作,這是禁用按鈕的全部要點。相反,通過點擊複選框,在上面的span或div上方顯示消息以接受條款(如果是這種情況) – Parvesh

+0

不太擅長JS ......但是在JQuery中,您可以使用mouseenter/hover或其他方法來提示用戶需要填寫複選框。你甚至應該能夠添加一個點擊事件,不像OnClick命令:) –

回答

8

不知道它的價值,但在jQuery的它會去像:

// Not tested!  
$(document).ready(function(){ 
    $('#myButton').click(function(){ 
    if($(this).is(':disabled')) { 
     alert('No need to click, it\'s disabled.'); 
    } 
    }); 
}); 

不明白這一點,但。當按鈕已被禁用時(爲什麼瀏覽器顯示如此),爲什麼還要打擾某人的消息?

+0

以及我需要一條消息的原因是因爲該按鈕是用圖像樣式化的,當該按鈕被禁用時,圖像不會改變,因此用戶無法知道按鈕是否被禁用,並且可能認爲某個錯誤當他們點擊它時,網站就不會執行任何操作。 –

+0

爲什麼不使用Javascript(或所以你希望的jQuery)將背景圖像更改爲某些圖像,更多地表明該按鈕不能被點擊而不是顯示消息? –

+0

感謝您的建議! :)我結束了這樣做,而不是:) –

3

你至少不能直接反正。當一個按鈕被禁用時,它被禁用,這意味着它也不會觸發任何事件。

現在..說,有一種方法,你可以繞過它,如果你絕對必須。

本質上講,你可以通過使用2名的div和一個按鈕,像這樣它的工作:

<div> 
     <div id="overlay" style="display:hidden; z-order:99999">&nbsp;</div> 
     <button id="mybtn">My Button to click</button> 
    </div> 

您設置疊加div的背景顏色爲透明的,而當你關閉按鈕,取消隱藏疊加DIV 。

因爲div是透明的,所以你應該在按鈕上看到沒有改變,但點擊它會導致點擊被第一個透明div拾取。

然後,您會將您的點擊處理程序附加到覆蓋div上,其結果是您可以觸發一條顯示(但不是真的)被點擊禁用按鈕彈出的消息。

+0

誰給我這個-2,我想知道你的理由爲什麼?這只是公平的... – shawty

+0

我不知道爲什麼有人會-1你:我給你+1 :) –

+0

很好的解釋。謝謝 –

0

相反,你可以用灰度級方法改變圖像風格。

img { 
    filter: gray; /* IE6-9 */ 
    filter: grayscale(1); /* Firefox 35+ */ 
    -webkit-filter: grayscale(1); /* Google Chrome, Safari 6+ & Opera 15+ */ 
}