【问题标题】:JavaScript function is not called either by using Onclientclick or Onsubmit使用 Onclientclick 或 Onsubmit 均未调用 JavaScript 函数
【发布时间】:2017-06-20 09:05:27
【问题描述】:

我正在尝试对我的登录页面应用验证。为此使用了一个单独的 JavaScript 函数,但不会以任何方式调用该函数。

<script type="text/javascript">
    function myFunction() {
        var pass = document.getElementById("passwordsignup").value;
        var ConfirmPass = document.getElementById("passwordsignup_confirm").value;
        var email = document.getElementById("emailsignup").value;
        var uname = document.getElementById("usernamesignup").value;

        var PassExpr = "/^[a-zA-Z0-9!@#$%^&*]{6,16}$/";
        var emailExp = "/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([com\co\.\in])+$/";

        if (uname == "" && email == "" && pass == "" && ConfirmPass == "") {
            alert("All Feilds are Required");

            return false;
        }
        if (uname == "")
        {
            alert("Please Enter User Name !!");
            return false;

        }
        if (email == "")
        {
            alert("Please Enter Email !!")
            return false;
        }
        else {
            if (!email.match(emailExp)) {
                alert("Please Enter Valid Email Id");
                return false;
            }
        }
        if (pass == "")
        {
            alert("Please Enter Password..!!");
            return false;
        }
        else {
            if(pass.length>6 && pass.length<16)
            {
                if (!PassExpr.test(pass)) {
                    alert("password should contain atleast one number and one special character");
                    return false;
                                  }
                }

                else {
                    return false;
                }

            }
            if (ConfirmPass == "")
            {
                alert("Please Re-Enter Password..!!");
                return false;
            }
            else {
                if (pass != ConfirmPass) {
                    alert("Please Re-Enter Password to Match !!!!!");
                    return false;
                }
            }
         }

我的表格是:

 <div id="register" class="animate form">
     <form id="form2" runat="server" onsubmit="return myFunction();">
         <h2> Sign up </h2> 
         <p> 
             <label for="usernamesignup" class="uname">UserName</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
             <input id="usernamesignup" name="usernamesignup" required="required" type="text"  placeholder="User Name" runat ="server" onchange="checkUserName();"/>
             <%--<asp:TextBox ID="usernamesignup1" runat="server" OnTextChanged="checkUserName()" ></asp:TextBox>--%>
             <asp:Label ID="LabelStatus" runat="server" Text="Label"></asp:Label><br />
         </p>
         <p> 
             <label for="emailsignup" class="youmail" >Email&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
             <input id="emailsignup" name="emailsignup" required="required"  type="email" placeholder="Email" runat="server" />

         </p>
         <p> 
             <label for="passwordsignup" class="youpasswd">password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </label>
             <input id="passwordsignup" name="passwordsignup" required="required" type="password" placeholder="Password" runat="server"/>
         </p>
         <p> 
             <label for="passwordsignup_confirm" class="youpasswd">Please confirm your password&nbsp; </label>
             <input id="passwordsignup_confirm" name="passwordsignup_confirm" required="required" title="Please enter the same Password as above." type="password" placeholder="Re-Enter Password" runat="server"/>
         </p>

         <p class="login button"> 
             <%--<asp:Button ID="btnSignup" runat="server" Text="Sign Up" OnClick="Button1_Click" Width="150px" CssClass="btnSignup" Height="46px" />&nbsp&nbsp&nbsp&nbsp&nbsp</p>--%>
             <asp:Button ID="btnSignup" runat="server" Text="Sign Up" onClientClick="return myFunction();" OnClick="btnSignup_Click" Width="150px" Height="40px"/>
         </p>

提交表单时未检查验证。有没有其他方法可以调用 JavaScript 函数?

【问题讨论】:

  • 你可以试试 OnClick="myFunction()",它可能会工作
  • @Joseph 这正是他们目前拥有的,对吧?
  • Joseph 你的解决方案不起作用,Mayur 我已经使用 OnClick 调用另一个函数
  • 您可能想查看ScriptManager。见here
  • 我只是将你的代码复制并粘贴到我的新项目中,它工作正常,imgur.com/EctjaVk 你能发布你的整个.aspx吗?

标签: javascript c# html asp.net


【解决方案1】:

您是否收到任何 javascript 错误?打开浏览器控制台,您会看到 Uncaught SyntaxErrors。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 2020-04-25
    • 2013-06-03
    • 1970-01-01
    相关资源
    最近更新 更多