Mic*_*ern 21 javascript asp.net validation reset
如何通过JavaScript重置asp.net验证控件?当前代码示例清除错误消息文本,但不重置下一个表单提交的验证控件.
var cv= document.getElementById("<%= MyValidationContorl.ClientID %>");
cv.innerHTML = '';
Run Code Online (Sandbox Code Playgroud)
更新:
这是表单的完整代码示例.我似乎无法在另一个表单提交中触发验证控件:
function ClearData() {
var cv = document.getElementById("<%= MyValidationContorl.ClientID %>");
cv.innerHTML = '';
}
<html>
<form>
<asp:TextBox id="MyTextControl" runat="server" />
<asp:CustomValidator ID="MyValidationContorl" runat="server" />
<input type="button" onclick="javascript:ClearCCData(); return false;" runat="server" />
</form>
</html>
Run Code Online (Sandbox Code Playgroud)
MK.*_*MK. 39
每次发帖时都会触发页面验证,似乎问题在于您正在清除验证器内容cv.innerHTML = '';
,这样您的验证器消息将永远丢失,并且您认为验证不会再次触发.
对于@Glennular回答,代码不处理验证器Display
属性,如果它的设置为Dynamic
验证器将使用validator.style.display
,但是如果它的设置为None
或Inline
然后validator.style.visibility
属性将被使用.
最好使用asp.net ValidatorUpdateDisplay
,
<script type="text/javascript">
function Page_ClientValidateReset() {
if (typeof (Page_Validators) != "undefined") {
for (var i = 0; i < Page_Validators.length; i++) {
var validator = Page_Validators[i];
validator.isvalid = true;
ValidatorUpdateDisplay(validator);
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
更新:重置验证摘要
<script type="text/javascript">
function Page_ValidationSummariesReset(){
if (typeof(Page_ValidationSummaries) == "undefined")
return;
for (var i = 0; i < Page_ValidationSummaries.length; i++)
Page_ValidationSummaries[i].style.display = "none";
}
</script>
Run Code Online (Sandbox Code Playgroud)
ker*_*rem 15
这个重置所有验证组中的所有验证器.
<script type="text/javascript">
Page_ClientValidate('');
</script>
Run Code Online (Sandbox Code Playgroud)
Gle*_*lar -1
这是重置所有验证器的代码
function CleanForm() {
document.forms[0].reset();
for (i = 0; i < Page_Validators.length; i++) {
Page_Validators[i].style.visibility = 'hidden';
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
或单个:
document.getElementById("<%= MyValidationContorl.ClientID %>").style.visibility
= 'hidden';
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
31619 次 |
最近记录: |