javascript - 重新输入密码验证无效

标签 javascript

我使用了以下代码:

<script type="text/javascript">
function validate() {
    if ((document.changepass.newpassword.value != '') &&
(document.changepass.retypenewpassword.value ==
document.changepass.newpassword.value)){
            document.changepass.retypenewpassword.blur();
            document.changepass.submit();

    }
}
</script>

<form name="changepass" method="POST" action="changepassword.jsp" onsubmit="return validate();">

<table align="center">
    <tr>
        <td>New Password:</td>
        <td><input type="password" name="newpassword" size="20"
            style="width: 145px" maxlength="10"></td>
    </tr>
    <tr>
        <td>Retype New Password:</td>
        <td><input type="password" name="retypenewpassword" size="20"
            style="width: 144px" maxlength="10"></td>
    </tr>
    <tr>
        <td><input type="submit" value="Change Password" name="operation" ></td>
        <td><input type="reset"></td>
    </tr>
    </table>
</form>

但是当我给出不匹配的条目时,它也会发生变化。我的意思是验证函数没有被调用。 请帮忙

满怀希望 知更鸟

最佳答案

您的表单无论如何都会提交,因为您不会在出错时从验证函数返回 false。应该是:

function validate() {
    var d = document.changepass;
    if((d.newpassword.value != '') && (d.retypenewpassword.value == d.newpassword.value)) {
        return true;
    }
    return false;
}

目前,您没有为 validate() 指定返回值,它被解释为始终返回 true,因此表单被提交。您不需要从您的函数中调用 submit(),如果一切正常,只需返回 true。

关于javascript - 重新输入密码验证无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1998183/

相关文章:

javascript - 相关链接在 HTML 页面上不起作用

javascript - 在 Three.js 中从 3 个顶点渲染平面

javascript - 如何将 JS 动画限制在你点击进入的输入字段,而不是全部?

javascript - 如何设置下拉选项的默认值

javascript - ASP.Net 按钮重新加载整个页面

javascript - jquery 或 jquery mobile 中的分页

javascript - 在 node.js C++ 插件中实现 JS 算术运算符

php - 使用 jquery 动态向 li 元素添加类

javascript - ES6 应用程序中第三方 javascript Uncaught ReferenceError

javascript - 如何从 child 访问 iframe 祖 parent id 元素?