带有密码确认的 Javascript 表单验证

标签 javascript html forms authentication

我正在尝试编写一个注册页面,但遇到了最困难的时间。

<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 函数并让它仍然发布并执行操作?我把它做成一个简单的模块,它是独立的,但我想合并它们

<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

最佳答案

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

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

button 中删除 onclick 并使其成为 input 类型为 submit

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

并向您的函数添加 bool 返回语句:

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;
}

关于带有密码确认的 Javascript 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16990378/

相关文章:

javascript - 我如何 Jest 模拟 Date.toLocaleDateString?

html - 在其他文本 css 的侧面和顶部对齐文本

javascript - 将文本插入 iframe 表单字段并提交

ruby-on-rails - 使用带有参数和 form_tag 的命名路由

php - 通过 post [文件上传] 将表单数据提交到 iframe

javascript - 使用单个 URL 创建多页面设计

php - 在 html 中发布带有 javascript 和 php 验证的表单。一个错误 - 返回 true 或 false 进入表单的文本框

javascript - 如何从一个数组中生成一个随机字符串然后 "remember"呢?

java - JSP 中的 CSS 样式

javascript - 如何检查多个文本区域的输入?