2015-06-25 73 views
-1

我想檢查pass和repass是否一樣? 但問題是onkeyup事件不調用檢查功能。 javascript文件的路徑也是正確的。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; 
     } 
} 

請幫助我。我錯在哪裏?

+3

紅色必須是紅色綠色必須綠色綠色 –

+1

您將兩個密碼都存儲在變量pass和respass中,但會比較變量pass1和repass1。 –

+0

你在你的代碼中有錯別字。 –

回答

0

錯誤可能是因以下兩個線路可以引起如綠色和紅色是不是JavaScript的關鍵字

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

insted的這個,你需要通過這個值作爲字符串「綠色」和「紅色」。所以代碼將是

document.getElementById('inputRepassword').style.backgroundColor = "green"; 
document.getElementById('inputRepassword').style.backgroundColor = "red"; 
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" 

另一種方式來解決紅/「紅「問題是在開始時聲明這些變量:

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

這樣您就可以自定義col或者你不必在你的代碼中設置顏色的地方搜索。