Gå til innhold

Bekrefte om passordene er like (med JS)


Anbefalte innlegg

Prøver å bekrefte om passordene er like, men det ser ikke ut til å fungere. Noen som vet hvorfor?

 

HTML:

<input type="password" minlength="8" maxlength="50" required name="password">
<input type="password" minlength="8" maxlength="50" required name="confirmpass">

JavaScript:

<script type="text/javascript">
window.onload = function () {
	document.getElementById("password").onchange = validatePassword;
	document.getElementById("confirmpass").onchange = validatePassword;
}
function validatePassword(){
var pass1=document.getElementById("password").value;
var pass2=document.getElementById("confirmpass").value;
if(pass1!=pass2)
	document.getElementById("password").setCustomValidity("Passordene er ikke like!");
else
	document.getElementById("confirmpass").setCustomValidity('');
//empty string means no validation error
}
</script>
Lenke til kommentar
Videoannonse
Annonse

Du kan jo prøve å debugge litt ved å bruke console.log().
 
F.eks kan du sette en console.log() øverst i funksjonen validatePassword for å se om den i det hele tatt blir kalt.

function validatePassword() {
    console.log('inside event');

    var pass1 = document.getElementById("password").value;
    var pass2 = document.getElementById("confirmpass").value;

    if (pass1 !== pass2) {
        document.getElementById("password").setCustomValidity("Passordene er ikke like!");
    } else {
        document.getElementById("confirmpass").setCustomValidity('');
    }
}

Også er det som regel greit å skrive litt mer om hva som ikke fungerer. Eventuelle feilmeldinger osv..

Endret av datamads
Lenke til kommentar
Gjest Slettet+1523

Det fungerer ikke fordi du kjører getElementById for å hente verdiene fra feltene, mens passordfeltene i skjemaet har name-parameter og ikke id-parameter. Derfor er pass1 og pass2 undefined, og funksjonen feiler.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...