我想检查通行证并且重新检查两者是否相同? 但问题是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;
}
}
请帮帮我。我哪里错了?
答案 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";