我有一个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