javascript函数没有调用

时间:2015-06-25 08:48:39

标签: javascript html5

我想检查通行证并且重新检查两者是否相同?     但问题是onkeyup事件没有调用check函数。     javascript文件的路径也是正确的。

  <form class="form-horizontal" name="signUp" >
        <div class="form-group">
            <!-- Username -->
            <label for="username" class="lbl-content">
                Username</label>
            <div class="col-sm-10">
                <input type="text" id="inputUsername" name="inputUsername" class="input-txt" placeholder="Username"
                    autofocus required />
            </div>
        </div>
    <div class="form-group">
            <label for="password" class="lbl-content">
                Password</label>
            <div class="">
                <input type="password" id="inputPassword" name="inputPassword" class="input-txt"
                    placeholder="password" required />
            </div>
        </div>
        <!-- Re password -->
        <div class="form-group">
            <label for="re-password" class="lbl-content">
                Re-Password</label>
            <div class="">
                <input type="password" id="inputRepassword" name="inputRepassword" class="input-txt"
                    placeholder="re-password" onkeyup="return check()" required />
                <span id="confirmMessage" class="confirmMessage"></span>
            </div>
        </div>
    </form>

JavaScript函数,我在其中检查传递并重新传递值..

    function check() {
        var pass = document.getElementById('inputPassword').value;
        var repass = document.getElementById('inputRepassword').value;
        var msg = document.getElementById('confirmMessage').value;
    if (pass1 == repass1) {
            document.getElementById('inputRepassword').style.backgroundColor = green;
            document.getElementById('confirmMessage').innerHTML = "Password Match";
            alert("hello");
            document.getElementById('msg').innerHTML = "pass match";
            return true;
        }
        else {
            document.getElementById('inputRepassword').style.backgroundColor = red;
            document.getElementById('confirmMessage').innerHTML = "Password did not match";
            return false;
        }
}

请帮帮我。我哪里错了?

2 个答案:

答案 0 :(得分:0)

你犯了一些拼写错误,这里修复了你的代码:http://jsfiddle.net/gaus7uhm/

function check() {
    var pass = document.getElementById('inputPassword').value;
    var repass = document.getElementById('inputRepassword').value;
    var msg = document.getElementById('confirmMessage').value;
    if (pass == repass) {
        document.getElementById('inputRepassword').style.backgroundColor = 'green';
        document.getElementById('confirmMessage').innerHTML = "Password Match";
        alert("hello");
        document.getElementById('msg').innerHTML = "pass match";
        return true;
    } else {
        document.getElementById('inputRepassword').style.backgroundColor = 'red';
        document.getElementById('confirmMessage').innerHTML = "Password did not match";
        return false;
    }
}

以下是我对您的代码所做的所有更改:

pass1 => pass
repass1 => repass
red => "red" (you need to pass a string, not a variable)
green => "green"

修复红色&#34;红色&#34;的另一种方法问题是在开头声明这些变量:

var red = '#711',
    green = '#171';

通过这种方式,您可以自定义颜色,并且无需在代码中搜索设置颜色。

答案 1 :(得分:0)

错误可能是由于以下两行引起的,因为绿色和红色不是javascript关键词

document.getElementById('inputRepassword').style.backgroundColor = green;
document.getElementById('inputRepassword').style.backgroundColor = red;

这样你需要将这个值作为字符串&#34;绿色&#34;和&#34;红色&#34;。所以代码将是

document.getElementById('inputRepassword').style.backgroundColor = "green";
document.getElementById('inputRepassword').style.backgroundColor = "red";