密码验证(2个文本框,比较)

时间:2014-02-20 16:02:21

标签: javascript html

在你责怪我之前,是的,我正在寻找类似的东西大约一个小时,但遗憾的是我找不到我的错误,至少我在堆栈流程中寻找的问题没有给我一个正确的回答,因为我几乎完全相同(不是复制和粘贴)。 但有人可以解释我,为什么我的代码(javascript)不起作用? 我现在正在玩它几个小时,但我找不到它。

<html>

<head>
    <title>Anmeldung/Login</title>
    <link rel="stylesheet" type="text/css" href="styles.css">

    <script>
        function abc(){
        var a = document.getElementById('pw').value;
        var b = document.getElementById('repw').value;

        if(a==b){
            alert(yes)
        }
        }
    </script>


</head>     
    <body>

        <div id="banner">
                <p>NAME/ÜBERSCHRIFT</p>
        </div>

        <form id="loginpanel">
            <fieldset>
                <legend>LOGIN</legend>
                <p class="textinput">Benutzername: <input name="id" type="text" size="30" maxlength="30"></p>
                <p class="textinput">Passwort: <input name="pw" type="password" size="30" maxlength="15"></p>
                <input class="button" type="button" name="login" value="Anmelden"/>
            </fieldset>
        </form>

        <p id="option"> ...oder Registrieren!</p>

        <form id="registerpanel">
            <fieldset>
                <legend>REGISTER</legend> 
                <p class="textinput">Benutzername: <input name="id" type="text" size="30" maxlength="30"></p>
                <p class="textinput">eMail: <input name="email" type="text" size="30" maxlength="30"></p>
                <p class="textinput">Passwort: <input name="pw" type="password" size="30" maxlength="30"></p>
                <p class="textinput">Passwort wiederholen: <input name="repw" type="password" size="30" maxlength="30"></p>           
                <input class="button" type="button" onclick="abc()" name="register" value="Registrieren"/>
            </fieldset>
        </form>
    </body>

如果有人能给我答复,我会很高兴的! 感谢您抽出宝贵时间:)!

1 个答案:

答案 0 :(得分:4)

您必须拥有id属性的输入,其值为pw + repw。只有name属性不起作用

示例:<input name="repw" id="repw" type="password" size="30" maxlength="30">

更正版本(仅限相关部分):

<script>
window.abc = function(){
    var a = document.getElementById('pw').value;
    var b = document.getElementById('repw').value;

    if(a==b){
        alert("yes")
    }
}
</script>
...
<form id="registerpanel">
            <fieldset>
                <legend>REGISTER</legend> 
                <p class="textinput">Benutzername: <input name="id" type="text" size="30" maxlength="30"></p>
                <p class="textinput">eMail: <input name="email" type="text" size="30" maxlength="30"></p>
                <p class="textinput">Passwort: <input name="pw" id="register-pw" type="password" size="30" maxlength="30"></p>
                <p class="textinput">Passwort wiederholen: <input name="repw" id="register-repw" type="password" size="30" maxlength="30"></p>           
                <input class="button" type="button" onclick="abc()" name="register" value="Registrieren"/>
            </fieldset>
        </form>

请注意添加的ID。我没有pwrepw,因为在登录中使用pw对我来说更有意义(11684)(不要忘记在登录表单中添加它)。因为我register-pw我坚持一致并做register-repw。但只要它们是唯一的,这些ID 的含义并不重要 我将拼写错误alert(yes)更改为alert("yes"),因为显然第一个引发了引用错误。

一个有效的JSFiddle:http://jsfiddle.net/7NZUc/