2016-07-29 25 views
0

Ich schrieb mehrere Funktionen, um zu überprüfen, ob die beiden Passwörter gleich sind. Ich gebe zuerst zwei Passwörter ein. Wenn ich aus dem Feld "Passwort bestätigen" klicke, sollte entweder "Die Passwörter stimmen" oder "Ein zweiter Versuch ist erforderlich. Bitte geben Sie Ihr Passwort in der ersten Passwortbox ein, da die beiden Passwörter nicht übereinstimmen" abhängig von ob die Passwörter gleich sind oder nicht. Wenn die beiden Passwörter nicht übereinstimmen, wird die Meldung "Ein zweiter Versuch ist erforderlich. Bitte geben Sie Ihr Passwort in der ersten Passwortbox erneut ein, da die beiden Passwörter nicht übereinstimmen" angezeigt. Ich möchte auch, dass die erste Passwortbox (password1) leer wird (ich möchte sie zurücksetzen), auch wenn die beiden Passwörter nicht übereinstimmen. Das wird jedoch in meinem Code nicht funktionieren. Was mache ich hier falsch?Wie setze ich ein Textfeld zurück und mache den Wert im Textfeld gleich "" (oder leer)? (Javascript)

Ich habe eine password.js-Datei und eine setpassword.html-Datei verwendet.

Meine password.js Datei ist dies:

var verifypasswordclick = document.getElementById("txtPWVerified"); 

function verifypassword1() { 
    var password1 = document.getElementById("txtPassword").value; 
    var verifypassword = document.getElementById("txtPWVerified").value; 
    if(password1 == '' || verifypassword == '') { 
     return null; 
    } 
    if(password1 == verifypassword) { 
     alert('The passwords match'); 
    } 
    if(password1 !== verifypassword || password1 == "" || verifypasword == "") { 
     alert("A second try is needed. Please enter your password in the first password box again because the two passwords don't match"); 
    } 
    if(password1 !== verifypassword || password1 == "" || verifypasword == "") { 
     password1 = ""; 
    } 
} 
verifypasswordclick.addEventListener("blur",verifypassword1); 

Meine setpassword.html Datei ist dies:

<!DOCTYPE html> 
<!-- H5FormValidation.html --> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Register Here</title> 
</head> 

<body> 
    <h2>Register Here</h2> 

    <form id="formTest" method="get" action="processData"> 
    <table> 

    <tr> 
     <td><label for="txtEmail">Email<span class="required">*</span></label></td> 
     <td><input type="email" id="txtEmail" name="email" required></td> 
    </tr> 
    <tr> 
     <td><label for="txtPassword">Password<span class="required">*</span></label></td> 
     <td><input type="password" id="txtPassword" name="password" required></td> 
    </tr> 
    <tr> 
     <td><label for="txtPWVerified">Verify Password<span class="required">*</span></label></td> 
     <td><input type="password" id="txtPWVerified" name="pwVerified" required></td> 
    </tr> 

    <tr> 
     <td>&nbsp;</td> 
     <td> 
      <input type="reset" value="CLEAR" id="btnReset"></td> 
    </tr> 
    </table> 
    </form> 
<script src = "password.js"></script> 
</body> 
</html> 
+1

'document.getElementById ("TxtPassword") value = '';' – Amit

+0

Danke.! Ihr Code funktioniert, aber ich frage mich, warum Sie diesen Wert erneut abrufen müssen, wenn ich password1 bereits als solchen definiert habe. –

+0

@MichaelBao Strings werden in JavaScript als Wert übergeben. Wenn Sie also einen Verweis auf eine Zeichenfolge erstellen und diese ändern, wird die ursprüngliche Zeichenfolge nicht geändert. Wenn Sie 'password1' gespeichert haben, haben Sie eine Kopie dieses Wertes erstellt. – kamoroso94

Antwort

0

Sie einfach den Wert des Passworts Element (dank der id gesetzt haben des Elements)

document.getElementById("txtPassword").value = ''; 
0

Ändern Sie den Code password.js wie folgt. // PS: es ist nicht sehr benutzer friendy verwenden Alarm

var verifypasswordclick = document.getElementById("txtPWVerified"); 
function verifypassword1() { 
     var password1 = document.getElementById("txtPassword") 
     var verifypassword = document.getElementById("txtPWVerified"); 
     //do nothing until the fields is field 
     if(password1.value && verifypassword.value){ 
      if(password1.value === verifypassword.value) { 
       alert('The passwords match'); 
      }else{ 
       alert("A second try is needed. Please enter your password in the first password box again because the two passwords don't match"); 
       password1.value= ""; 

      } 
     } 
    } 
verifypasswordclick.addEventListener("blur",verifypassword1); 

Viel Glück

Verwandte Themen