【发布时间】:2015-11-12 20:54:54
【问题描述】:
我在尝试使用复选框启用或禁用 requiredfieldvalidator 时遇到问题。显然,当复选框被选中时,我希望它被启用并且未选中被禁用。当复选框被选中时,它还会打开一个 FileUpload,所以很明显,如果没有选择文件,我希望它注册。这是我的一些代码。
HTML:
<tr>
<td>
<asp:CheckBox ID="chkExecLAF" Text="Executed LAF" runat="server" OnCheckedChanged="chkExecLAF_CheckedChanged" />
</td>
<td id="tblExecLAF">
<asp:FileUpload ID="FileUpload1" runat="server" CssClass="FileUpload1" />
<asp:RequiredFieldValidator ID="rfvExecLAF" ControlToValidate="FileUpload1" ErrorMessage="*Required" ForeColor="Red" runat="server" />
</td>
<td>
<asp:CheckBox ID="chkDatedLeaseAbstract" Text="Dated Lease Abstract" runat="server" />
</td>
<td>
<asp:FileUpload ID="FileUpload2" runat="server" CssClass="FileUpload2" />
</td>
</tr>
代码背后:
protected void chkExecLAF_CheckedChanged(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
rfvExecLAF.Enabled = false;
}
else
{
rfvExecLAF.Enabled = true;
}
}
jquery:
<script type="text/javascript">
$(function () {
$('.FileUpload1').attr('disabled', true);
$('.rfvExecLAF').attr('disabled', true);
$('.rfvExecLAF').hide();
$('.FileUpload1').hide();
$('#<%=chkExecLAF.ClientID %>').click(function () {
if ($(this).is(':checked')) {
$('.FileUpload1').removeAttr('disabled');
$('.rfvExecLAF').removeAttr('disabled');
$('.rfvExecLAF').show();
$('.FileUpload1').show();
} else {
$('.FileUpload1').attr('disabled', true);
$('.rfvExecLAF').attr('disabled', true);
$('.rfvExecLAF').hide();
$('.FileUpload1').hide();
}
});
});
</script>
【问题讨论】:
标签: c# jquery asp.net validation checkbox