jquery中的验证问题

时间:2014-01-14 08:28:55

标签: jquery asp.net

我是Jquery的新手,并使用了一个asp.net表单,其中我有3个文本框和1个按钮。我的代码正在运行,但是存在一个问题,即我的所有验证都不能同时运行。示例:我留下用户名文本框并再次输入密码和密码,只显示1个文本框错误。

我的Java脚本代码:

<script type="text/javascript" src="jquery-1.10.2.min.js"></script>

<script type="text/javascript">
    $("document").ready(function () {
       $("#<%=style2.ClientID%>").click(function () {
            var valid = false
            errorMessage = ""
            var pass = $("#<%=textbox4.ClientID%>").val();
            var pass1 = $("#<%=textbox5.ClientID%>").val();
            if ($("#<%=textbox1.ClientID%>").val() == '') {
                errorMessage = "please enter your name \n"
                valid = true
            }

            else if (pass != pass1) {
                errorMessage = "password not match"
                valid = true
            }
            if (valid==true) {
                alert(errorMessage)
                return false
            }

        });
       $("#<%=textbox4.ClientID%>").keypress(function () {
           $("#<%=Label1.ClientID %>").text(countlength($("#<%=textbox4.ClientID%>").val()))
          function countlength(len) {
              var count = 0
              if (len.length < 8) {
                  return "Chracters Atleast 8"
              }
              else {
                  return "Strong Password"
              }
          }
       });
   });
</script>

2 个答案:

答案 0 :(得分:0)

这是因为您将错误消息写为警报。如果要检查所有字段然后打开一条错误消息,则应在提交按钮上分配检查,并在填写所有字段并且用户想要提交表单时打开一个弹出窗口。

其他方式是单独检查每个字段并打开不弹出,但是例如在字段值更改后在输入字段下面带有错误消息的div。

答案 1 :(得分:0)

//从'if-else'语句中删除'else'并将错误消息与'+'符号连接

    $("#<%=style2.ClientID%>").click(function () 
    {
            var valid = false
            errorMessage = ""
            var pass = $("#<%=textbox4.ClientID%>").val();
            var pass1 = $("#<%=textbox5.ClientID%>").val();
            if ($("#<%=textbox1.ClientID%>").val() == '') {
                errorMessage = "please enter your name \n"
                valid = true
            }

            //Remove else
            if (pass != pass1) {
            //concatenate error message
                errorMessage += "password not match"
                valid = true
            }
            if (valid==true) {
                alert(errorMessage)
                return false
            }

     });
希望这会奏效。