由於在項目中應用了Jquery Validation表單驗證插件,所以要實現在Validation驗證完畢後,提交form,然後禁止按鈕。
CodeProject上有一個DisableBtnPostBack項目,但不無法和Jquery Validation結合,代碼先貼出來,給大家提示下,碰到這種情況不要使用該代碼。代碼如下:
js:
代碼
代碼如下:
function disableBtn(btnID, newText) {
Page_IsValid = null;
if (typeof (Page_ClientValidate) == 'function') {
Page_ClientValidate();
}
var btn = document.getElementById(btnID);
var isValidationOk = Page_IsValid;
if (isValidationOk !== null) {
if (isValidationOk) {
btn.disabled = true;
btn.value = newText;
btn.style.background = "url(12501270608.gif)";
}
else {
btn.disabled = false;
}
}
else {
setTimeout("setImage('"+btnID+"')", 10);
btn.disabled = true;
btn.value = newText;
}
}
function setImage(btnID) {
var btn = document.getElementById(btnID);
btn.style.background = 'url(12501270608.gif)';
}
前端頁面代碼:
代碼
代碼如下:
<asp:button id="btnOne" tabIndex="0" Runat="server" Text="Submit"
onclick="btnOne_Click"
OnClientClick="disableBtn(this.id, 'Submitting...')"
UseSubmitBehavior="false" />
好了,以下代碼可以解決提交按鈕完成Validation插件的Form驗證後禁止按鈕,提交Form:
js:
代碼
代碼如下:
$(document).ready(function() {
$("#myForm").validate({
submitHandler: function(form) {
$(form).find(":submit").attr("disabled", true).attr("value",
"Submitting...");
form.submit();
}
})
});