Javascript/jQuery-在字段隐藏时禁用验证
以下Javascript/jQuery在下拉列表中选择两个不同值之一时显示字段,但在其他情况下隐藏字段:Javascript/jQuery-在字段隐藏时禁用验证,javascript,c#,jquery,asp.net,validation,Javascript,C#,Jquery,Asp.net,Validation,以下Javascript/jQuery在下拉列表中选择两个不同值之一时显示字段,但在其他情况下隐藏字段: function HideShowChargeCode() { var action = $('#<%=ddl_request_action.ClientID %>').val(); if (action == "3" || action == "4") { $('#<%=pnl_charge_code.Cl
function HideShowChargeCode() {
var action = $('#<%=ddl_request_action.ClientID %>').val();
if (action == "3" || action == "4") {
$('#<%=pnl_charge_code.ClientID %>').show();
document.getElementById("<%=rfv_charge_code.ClientID %>").enabled = true;
} else {
$('#<%=pnl_charge_code.ClientID %>').hide();
document.getElementById("<%=rfv_charge_code.ClientID %>").enabled = false;
}
}
函数HideShowChargeCode(){
var action=$('#').val();
如果(动作==“3”| |动作==“4”){
$('#')。show();
document.getElementById(“”).enabled=true;
}否则{
$('#')。隐藏();
document.getElementById(“”).enabled=false;
}
}
每个条件的第二部分应该控制验证,但它似乎没有按预期工作。我仍然遇到这样一个问题:当字段被隐藏时,它仍然试图被验证。非常感谢在隐藏字段时关闭验证的任何解决方案 您正在混合使用jQuery和香草JavaScript。尝试将代码更改为以下内容:
function HideShowChargeCode() {
var action = $('#<%=ddl_request_action.ClientID %>').val();
if (action == "3" || action == "4") {
$('#<%=pnl_charge_code.ClientID %>').show().prop("disabled", false);
} else {
$('#<%=pnl_charge_code.ClientID %>').hide().prop("disabled", true);
}
}
函数HideShowChargeCode(){
var action=$('#').val();
如果(动作==“3”| |动作==“4”){
$('#').show().prop(“禁用”,false);
}否则{
$('#').hide().prop(“已禁用”,true);
}
}
好吧,我将其转换为C#函数,果然一切正常:
protected void ddl_request_action_SelectedIndexChanged(object sender, EventArgs e)
{
var selected = ddl_request_action.SelectedIndex;
if (selected == 3 || selected == 4)
{
pnl_charge_code.Visible = true;
rfv_charge_code.Enabled = true;
}
else
{
pnl_charge_code.Visible = false;
rfv_charge_code.Enabled = false;
}
}
绝对是个好建议。我已经重构了我的代码以匹配您的代码,但仍然面临相同的问题。验证是在客户端还是在服务器上进行的?服务器端验证好的,您不能通过元素的属性控制服务器端验证。如果有一个客户机控件与此元素关联,则需要切换该客户机控件的enabled属性