2012-05-24 61 views
8

我有以下輸入:做一個提交輸入未點擊

<input type="submit" name="next" value="Next"> 

我將如何讓通過jQuery這個項目未點擊? (即,在某些驗證標準得到滿足後,它可能只能被點擊)?

這裏是一個跟進這個問題:Make a submit clickable after validations are met

+3

如果是「後」一定的驗證,爲什麼不啓動在標記中添加'disabled =「disabled」',並在驗證成功運行後將其刪除? – ahren

+0

@ahren,因爲那不是他要求的。 – Ohgodwhy

+1

反正複製:http://stackoverflow.com/questions/1414365/how-to-disable-an-input-with-jquery – ahren

回答

8

2演示Demo 1 click here:Demo 2 click here:

因此,所有你需要的是檢查,如果確認是正確的沒有這樣做。

if (notValid)卡盤在下面的代碼並且將禁用的按鈕。 最好還是從禁用的next開始按鈕。

爲了使您可以設置屬性爲假,我相信你會得到一個不錯的主意,否則提供更多的代碼;我很樂意進一步幫助你。 B-)

希望這會有所幫助!

$("#submit").prop('disabled', true);​ 

OR

$("input[type='submit']").prop('disabled', true);​ 
+0

$(「#submit」)?提交一個ID? – 2012-05-24 03:10:45

+0

你好@vlzvl我這樣做,當臨時演員看到第二個演示以及請,只給律爲解決提問更多的想法是尋找:) –

+0

剛纔看到,就在這裏編輯以及:) – 2012-05-24 03:12:59

3
$('input[name="next"]').prop('disabled', true); 
+0

+1 =)給你也是bruv! –

2

你可以使用:

$("input[type=submit][name='next']").attr("disabled", "disabled"); // unclickable 

$("input[type=submit][name='next']").removeAttr("disabled"); // clickable 
0

禁用的輸入元素沒有始終如一地防止點擊事件或他們的跨瀏覽器的進一步傳播。

無論如何,如果驗證失敗,簡單地返回false是合適的,以便不執行動作(即表單提交)。這將防止表單被提交,因爲仍在執行單擊處理程序,你將能夠提供詳細資料,以瞭解爲何提交失敗的用戶:

$("#submit").click(function(){ 
    var isValid = true; 
    /*perform validation checks, changing isValid value to false when needed*/ 
    return isValid; //will return false if validation fails etc. 
}); 
相關問題