2014-02-20 60 views
1

之前,你責怪我,是的,我一直在尋找類似的一個小時左右,但可惜我找不到我的錯誤,至少我在尋找在stackoverflow的問題沒有給了我一個正確的答案,因爲我幾乎完全一樣的東西(不是複製和粘貼)。 但是,有人可以解釋我,爲什麼我的代碼(JavaScript)不工作? 我正在玩它幾個小時,但我找不到它。密碼驗證(2文本框,比較)

<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> 

我會很高興,如果有人能給我一個答案! 謝謝你花時間:)!

回答

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> 

注意添加標識。我沒有做pwrepw,因爲在登錄時有明顯的pw對我更有意義(11684)(不要忘記在登錄表單中添加)。因爲我會做register-pw爲了保持一致性,我做了register-repw。但是,只要它們是唯一的,這些ID是並不重要。
而且我將輸入錯誤alert(yes)更改爲alert("yes"),因爲顯然第一個拋出了引用錯誤。

一個工作的jsfiddle:http://jsfiddle.net/7NZUc/

+0

而且,竟然沒有一個名爲 「repw」 的元素! – Ian

+0

是的,我知道,我已經嘗試過,但它沒有奏效。現在我再次嘗試它,但仍然無法正常工作。 – user3077388

+0

有。看看'registerpanel'。 @Ian – 11684