【问题标题】:how to display validation summary of an asp.net page using Javascript如何使用 Javascript 显示 asp.net 页面的验证摘要
【发布时间】:2012-09-05 02:14:27
【问题描述】:

我有一个 asp.net 表单。
其中我有许多必填字段。
我想在表单末尾显示所有字段的验证摘要。
我已经检查了输入控件的有效值。
现在我只想要摘要。

这是我的有效数据输入代码

<script language="javascript" type="text/javascript">
        function userCheck(uName) {
            var uName = document.getElementById(uName);
            var letters = /^[A-Za-z0-9]+$/;
            if (uName.value.match(letters) && uName.value.length != 0) {
                uName.style.border = "2px solid #008A2E";
                return true;
            }
            else {
                uName.value = uName.value.replace(/[\W]/g, '');
                uName.style.border = "2px solid #ff0000";
                uName.focus();
                return false;
            }
        }
</script>

这只是用户名检查的一项功能。
我还有很多事情要处理。
按下提交按钮时,有没有办法在最后显示所有字段的摘要?
以下解决方案不起作用。

 function ddlcheck(ddlclg) {
            var clg = document.getElementById(ddlclg.id);
            var clgname = document.getElementById('<%= LblCollegeName.ClientID %>');
            clgname.style.display = "block";
            clgname.innerHTML = "Selected College : " + clg.options[clg.selectedIndex].value;
            clg.style.border = "1px solid #008A2E";
            if (clg.options[clg.selectedIndex].value == "Select") {
                clgname.style.display = "none";
                clg.style.border = "1px solid #ff0000";
                validationhtml = validationhtml + "<b>*</b> College" + "</br>";
            }
        }

以上代码用于下拉列表。

 function select() {
            var count = 0;
            var chkSelectAll = document.getElementById('<%= ChkSelectAll.ClientID %>');
            var chkList = document.getElementById('<%= chk.ClientID %>').getElementsByTagName("input");
            for (var i = 0; i < chkList.length; i++) {
                if (chkList[i].checked == true) {
                    count++;
                }
            }
            if (count == chkList.length)
                chkSelectAll.checked = true;
            else {
                chkSelectAll.checked = false;
            }
        }

以上代码用于选中的复选框。

【问题讨论】:

    标签: c# javascript asp.net


    【解决方案1】:

    在所需位置验证摘要处创建一个 div (errorreport),根据需要为其设置样式

    之后

    <script language="javascript" type="text/javascript">
        var validationhtml="";
        function userCheck(uName) {
            var uName = document.getElementById(uName);
            var letters = /^[A-Za-z0-9]+$/;
            if (uName.value.match(letters) && uName.value.length != 0) {
                uName.style.border = "2px solid #008A2E";
                return true;
            } else {
                uName.value = uName.value.replace(/[\W]/g, '');
                uName.style.border = "2px solid #ff0000";
                uName.focus();
                validationhtml=validationhtml +"uname is not correct" ;
                return false;
            }
        }
    
        function validationsummary() {
    
            // if using jquery
            $(".errorreport").html(validationhtml); 
    
            //for javascript
            document.getelementbyid("errorreport").innerHTML = validationhtml; 
    
            if(validationhtml == "") {
                return true;
            } else {
                return false;
            }
        }
    </script>
    

    并在点击提交按钮时调用validationsummary()

    【讨论】:

    • 我还有很多领域。我要调用所有这样的方法吗?
    • 你能告诉我什么是 $(...) 我不知道。我需要它在 Javascript 中。
    • $(".errorreport") 给你带有 id 的 div errorreport 你可以用javascript document.getelementbyid("errorreport").innerHTML = validationhtml;
    • 它会正确写入那个 div 吗?我想要项目符号列表
    • 好吧,它也很容易写 validationhtml=validationhtml +"uname is not correct" 行作为 validationhtml=validationhtml +"* uname is not correct" +""
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多