Javascript不能在XAMPP中工作

Javascript not working in XAMPP

本文关键字:工作 XAMPP 不能 Javascript      更新时间:2023-09-26

当我在html中运行javascript代码时,它很好,但是当我在localhost上运行相同的代码时,它在控制台中显示了这条消息:

Uncaught TypeError: Cannot read property 'style' of null

这是我的代码

<form method="post">
    <ul id="edit">
        <li>
            <input type="text" name="adress" id="adress" placeholder="Adresa" />
        </li>
        <li>
            <input type="text" name="city" id="city" placeholder="Grad" />
        </li>
        <li>
            <input type="number" name="zip" id="zip" placeholder="Poštanski broj" />
        </li>
        <li>
            <input type="tel" name="phone_number" id="phone_number" placeholder="Tel. broj" />
        </li>
        <li>
            <input type="password" name="password" id="password" placeholder="Lozinka" />
            <div class="password_strength" id="password_strength"></div>
        </li>
        <li>
            <input type="password" name="repassword" id="repassword" placeholder="Ponoviti lozinku" onkeyup="checkPass(); return false;" />
        </li><div id="confirmMessage"></div>
        <br>
        <li>
            <input type="submit" name="submit" id="submit" value="Izmjeni" />
        </li>
        <br>
    </ul>
</form>
<script>
    function checkPass() {
        var password = document.getElementById('password');
        var repassword = document.getElementById('repassword');
        var message = document.getElementById('confirmMessage');
        var goodColor = "#66cc66";
        var badColor = "#ff6666";
        if (password.value == repassword.value) {
            repassword.style.backgroundColor = goodColor;
            message.style.color = goodColor;
            message.innerHTML = "Passwords Match!"
        } else {
            repassword.style.backgroundColor = badColor;
            message.style.color = badColor;
            message.innerHTML = "Passwords Do Not Match!";
        }
    }
    $('#password, #username').keydown(function (e) {
        if (e.which == 32) {
            return false;
        }
    });
    $('#password').keyup(function () {
        var PasswordLength = $(this).val().length;
        var PasswordStrength = $('#password_strength');
        if (PasswordLength <= 0) {
            PasswordStrength.html('');
            PasswordStrength.removeClass('normal weak strong verystrong');
        }
        if (PasswordLength > 0 && PasswordLength < 4) {
            PasswordStrength.html('weak');
            PasswordStrength.removeClass('normal strong verystrong').addClass('weak');
        }
        if (PasswordLength > 4 && PasswordLength < 8) {
            PasswordStrength.html('Normal');
            PasswordStrength.removeClass('weak strong verystrong').addClass('normal');
        }
        if (PasswordLength >= 8 && PasswordLength < 12) {
            PasswordStrength.html('Strong');
            PasswordStrength.removeClass('weak normal verystrong').addClass('strong');
        }
        if (PasswordLength >= 12) {
            PasswordStrength.html('Very Strong');
            PasswordStrength.removeClass('weak normal strong').addClass('verystrong');
        }
    });
</script>

代码的第一部分应该为重复密码的输入框添加颜色,如果密码匹配则为绿色,如果不匹配则为红色,但它始终是红色的。

第二部分应该添加一个用于密码强度的类,但什么也没有。

首先,如果使用控制台,应该有一个与错误代码相关联的行号。第二,我注意到有一行以没有分号

结尾
message.innerHTML = "Passwords Match!"

,这不是一个自动错误,但您希望消除浏览器可能的误解。

问题解决,

我在我的问题中没有发布的部分代码中犯了错误。我有两个相同的密码id。

所以我必须替换:

<form action="login.php">
    E-mail: <input type="mail" name="mail" id="mail"/><br><br>
    Lozinka: <input type="password" name="login_password" id="login_password"/><br><br>
    <input type="submit" value="Prijavi se"/><br><br>
    <a href="#" style="text-decoration:none; float:right;">Zaboravljena lozinka?</a>
</form>


:

<form action="login.php">
    E-mail: <input type="mail" name="mail" id="mail"/><br><br>
    Lozinka: <input type="password" name="login_password" id="login_password"/><br><br>
    <input type="submit" value="Prijavi se"/><br><br>
    <a href="#" style="text-decoration:none; float:right;">Zaboravljena lozinka?</a>
</form>

谢谢大家的帮助