使用Javascript进行表单验证并确认密码

10

我正在尝试编写一个注册页面,但是遇到了很大的困难。

<form  action="insert.php" method="post">
    <h1>Registration:</h1>
    <input type="text" name="first" placeholder="First name">
    <input type="text" name="last" placeholder="Last name"><br />
    <input type="text" name="username" placeholder="Username"> <br />
    <input type="password" name="password" placeholder="password"> <br />
    <input type="password" name="confirmPass" placeholder="Confirm Password"> <br />
    <input type="submit" value="Register">
</form>

这是我在注册页面上的代码。我该如何调用我的JavaScript函数,让它仍然可以发布并执行操作?我将其制作为一个简单的模块,但我想要合并它们。

如何调用JavaScript函数并仍然使表单提交?

<input id="pass1" type="password" placeholder="Password" style="border-radius:7px; border:2px solid #dadada;" /> <br />
<input id="pass2" type="password" placeholder="Confirm Password" style="border-radius:7px; border:2px solid #dadada;"/> <br />

<script>
    function myFunction() {
        var pass1 = document.getElementById("pass1").value;
        var pass2 = document.getElementById("pass2").value;
        if (pass1 != pass2) {
            //alert("Passwords Do not match");
            document.getElementById("pass1").style.borderColor = "#E34234";
            document.getElementById("pass2").style.borderColor = "#E34234";
        }
        else {
            alert("Passwords Match!!!");
        }
    }
</script>

<button type="button" onclick="myFunction()">Sumbit</button>

我不需要帮忙合并它们,我知道我需要调整一些东西,但如果它们在一起,我该如何调用JavaScript函数?

在我弄清楚该做什么之后,这将更加整洁。那么调用我的JavaScript函数的最佳方法是什么,如果成功了,则继续发布和表单操作的部分。我可以放弃提交按钮,只需使用调用JavaScript函数的按钮类型,但是如果它成功或失败会发生什么?实质上(目前)我想确保密码相同,如果不同,就不要继续进行insert.php,但如果它们匹配,则将表单数据传递给insert.php。

3个回答

27

只需为您的表单添加onsubmit事件处理程序:

<form  action="insert.php" onsubmit="return myFunction()" method="post">

button 元素中的 onclick 属性移除,并将其改为类型为 submitinput 元素

<input type="submit" value="Submit">

并在您的函数中添加布尔返回语句:

function myFunction() {
    var pass1 = document.getElementById("pass1").value;
    var pass2 = document.getElementById("pass2").value;
    var ok = true;
    if (pass1 != pass2) {
        //alert("Passwords Do not match");
        document.getElementById("pass1").style.borderColor = "#E34234";
        document.getElementById("pass2").style.borderColor = "#E34234";
        return false;
    }
    else {
        alert("Passwords Match!!!");
    }
    return ok;
}

3
 if ($("#Password").val() != $("#ConfirmPassword").val()) {
          alert("Passwords do not match.");
      }

一个 jQuery 方法,可以消除不必要的代码。

2

将以下内容添加到您的表单中:

<form  id="regform" action="insert.php" method="post">

将以下内容添加到您的函数中:

<script>
    function myFunction() {
        var pass1 = document.getElementById("pass1").value;
        var pass2 = document.getElementById("pass2").value;
        if (pass1 != pass2) {
            //alert("Passwords Do not match");
            document.getElementById("pass1").style.borderColor = "#E34234";
            document.getElementById("pass2").style.borderColor = "#E34234";
        }
        else {
            alert("Passwords Match!!!");
            document.getElementById("regForm").submit();
        }
    }
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接