我有一個aspx頁面,其中包含一個複選框和一個按鈕。該按鈕在默認情況下被禁用,直到用戶選中該複選框。它看起來像當我添加屬性enabled =「false」到按鈕時,它將刪除驗證。當按鈕啓用時,我仍然希望驗證工作。這裏是不同部分的代碼和標記。已禁用的asp.net按鈕禁用按鈕驗證
複選框:
<asp:CheckBox runat="server" ID="termsCheckBox" />
<label style="display: inline;">
I agree to the Terms & Conditions</label>
按鈕:
<asp:Button runat="server" ID="registerButton" OnClick="registerButton_Click1"
Text="Register" Enabled="false" ValidationGroup="accountValidation" />
JQuery的:
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('#<%=termsCheckBox.ClientID %>').click(function() {
var checked = $(this).val();
if (checked != undefined)
$('#<%=registerButton.ClientID %>').removeAttr('disabled');
else
$('#<%=registerButton.ClientID %>').attr('disabled', 'disabled');
});
});
</script>
客戶端工作得很好。我不需要去服務器去啓用一個按鈕。 – Xaisoft 2010-03-31 15:29:32
我的意思是,將asp.net按鈕作爲.Net框架執行的驗證組驗證的一部分,您需要回發到服務器以確保腳本需要將按鈕附加到客戶端上的處理程序。如果你在客戶端有自定義腳本,那麼你需要確保它已經連接到客戶端點擊事件的按鈕被解僱......除非我錯過了一些東西 – Sunny 2010-03-31 15:36:21
好吧,我想我正確地得到了你。您是否在說因爲我在客戶端處理它,而沒有回發,因此按鈕的驗證沒有被處理,因爲它的腳本在啓用時未被添加。 – Xaisoft 2010-03-31 15:46:00