如何从ASP中排除控件.. NET验证时隐藏(display:none;)
How to exclude a control from ASP.NET validation when hidden (display:none;)?
如何从ASP中排除控件。网络验证时隐藏?
-
复选框用于在两个文本框之间交替。
-
一个或另一个是必需的不同时。
-
我想在隐藏时禁用必填字段
我知道enabled="false"
和visible="false"
创建这个行为,但我想保持jquery淡出动画。
我试图添加禁用false属性到javascript,但无法让它工作。在网上找到的其他解决方案似乎并没有达到需要的效果。
ASP。
<div class="Hide1">
<asp:TextBox ID="tb" runat="Server"/>
<asp:RequiredFieldValidator ID="rfv1" RunAt="Server" ControlToValidate="tb"/>
</div>
<div class="Hide2">
<asp:TextBox ID="tb2" runat="Server"/>
<asp:RequiredFieldValidator ID="rfv2" RunAt="Server" ControlToValidate="tb2"/>
</div>
<asp:Button ID="btn" runat="Server" Text="GO"/>
JQUERY $('.tb').hide();
$('#CB').change(function () {
if ($(this).is(':checked')) {
$('.tb2').fadeOut(100, function () {
$('.tb').fadeIn();
});
} else {
$('.tb').fadeOut(100, function () {
$('.tb2').fadeIn();
});
}
});
你可以试试这样
if (document.getElementById('<%=CB.ClientID%>').checked) {
ValidatorEnable(document.getElementById('<%= rfv1.ClientID %>'), true);
ValidatorEnable(document.getElementById('<%= rfv2.ClientID %>'), false);
$('.tb2').fadeOut(100, function () {
$('.tb').fadeIn();
});
}
else {
ValidatorEnable(document.getElementById('<%= rfv1.ClientID %>'), false);
ValidatorEnable(document.getElementById('<%= rfv2.ClientID %>'), true);
$('.tb').fadeOut(100, function () {
$('.tb2').fadeIn();
});
}
注意: rfv1和rfv2是两个必需的验证器的id,请避免为验证器提供相同的id。
if (document.getElementById('<%=CB.ClientID%>').checked) {
ValidatorEnable(document.getElementById("#<%= rfv1.ClientID %>"), true);
ValidatorEnable(document.getElementById("#<%= rfv2.ClientID %>"), false);
$('.tb2').fadeOut(100, function () {
$('.tb').fadeIn();
});
}
else {
ValidatorEnable(document.getElementById("#<%= rfv1.ClientID %>"), false);
ValidatorEnable(document.getElementById("#<%= rfv2.ClientID %>"), true);
$('.tb').fadeOut(100, function () {
$('.tb2').fadeIn();
});
}
只需将控件的属性"CauseValidation"设置为"False"。例如
<asp:TextBox ID="TextBox1" runat="server" CausesValidation="false"></asp:TextBox>
这必须在服务器端代码中完成。
希望对你有帮助。
编辑1
如果它必须在javascript中完成…我认为控件的可见性应该在验证
中检查。function validate()
{
if control is hidden
{ avoid validation
}
else
{validate
}
}
禁用必填字段验证器
document.getElementById('RequiredFieldValidator1').enabled=false;
启用必需的字段验证器
document.getElementById('RequiredFieldValidator1').enabled=true;
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 显示5秒后隐藏潜水
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 浮动页脚栏-使用Bootstrap隐藏
- 在jquery中为显示/隐藏设置cookie
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 从var向代码隐藏函数传递值
- Image赢得't隐藏在滚动jQuery上
- 具有rowGrouping的数据表无法隐藏列
- Jquery隐藏未触发
- jQuery show/fadeIn不将display:block应用于隐藏的父元素内的子元素-仅限FireFox
- 将display标记表列中的参数传递为隐藏,始终获取第一条记录的值
- 如果元素是隐藏的(display:none),则忽略.NET验证器
- 获取隐藏(display:none)html元素的属性
- 如何使用display=“显示”来显示隐藏的项目;none”;它们被存储在阵列中而不丢失'的旧房产
- 关于使用display:none来隐藏元素并将它们从DOM中完全移除的建议
- js.如何隐藏不在onclick的选项?需要设置为display:none
- 如何从ASP中排除控件.. NET验证时隐藏(display:none;)
- 是否使用display属性或left/top隐藏元素