我有一个asp:dropdownlist,在其onchange事件中,我调用了一些javascript,其中我启用并禁用了一些必需的字段验证器,一旦RFV启用它就会显示附加到它的错误消息。 !!!!!!! ...
我希望它只能在启用时不显示错误消息....
提交单击它应显示msg ...
AND JAVASCRIPT:
function CriteriaChange(ddlCType)
{
switch (ddlCType.value)
{
case "1": //Weightage
ValidatorEnable(document.getElementById('<%= rfvWeightage1.ClientID %>'), true);
break;
case "2": //Any One
ValidatorEnable(document.getElementById('<%= rfvAppraiser.ClientID %>'), true);
break;
}
}
答案 0 :(得分:3)
由于visibility
CSS样式是在调用Validator进行验证时切换的样式,因此您可以在启用验证器后立即设置此样式。在提交时仍会再次调用验证事件,因此它会覆盖此设置以在表单提交时显示验证器。
function CriteriaChange(ddlCType)
{
var val = null;
switch (ddlCType.value)
{
case "1": //Weightage
val = document.getElementById('<%= rfvWeightage1.ClientID %>');
break;
case "2": //Any One
val = document.getElementById('<%= rfvAppraiser.ClientID %>');
break;
}
if (val != null)
{
ValidatorEnable(val, true);
val.style.visibility = 'hidden'; // or collapse, if you prefer
}
}
答案 1 :(得分:0)
试试这个......
function CriteriaChange(ddlCType) {
switch (ddlCType.value)
{
case "1": //Weightage
// ValidatorEnable(document.getElementById('<%= rfvWeightage1.ClientID %>'), true);
document.getElementById('<%= rfvWeightage1.ClientID %>').enabled = true;
document.getElementById('<%= rfvAppraiser.ClientID %>').enabled = false;
break;
case "2": //Any One
//ValidatorEnable(document.getElementById('<%= rfvAppraiser.ClientID %>'), true);
document.getElementById('<%= rfvAppraiser.ClientID %>').enabled = true;
document.getElementById('<%= rfvWeightage1.ClientID %>').enabled = false;
break;
}
}
注意:我继续禁用另一个验证器,以防它们来回切换值,这样它们就不会同时启用。
希望这有帮助。