2016-12-09 1 views
-1

Sur les lignes 14 et 28, il ne modifie pas le texte de la balise label et sur recorForm ou loginSetup, les données sont remplacées.
J'ai essayé la boucle avec .key, mais il a sorti les mauvais résultats stockés et je ne suis pas sûr de ce que j'ai fait de mal.
alors je pars de là.
Ce que je veux savoir pourquoi la innHTML de l'étiquette ne changera pas. (Je suppose que cela est dû au chargement)localStorage remplacé/et innerHTML échouent

window.onload = alert('Window Loaded'); 

    function recordForm() { 
     var userMail = document.getElementById('email').value; 
     var userPass = document.getElementById('password').value; 
     var confirm = document.getElementById('confirmation').value; 
     var text = document.getElemetsByClassName('errorText'); 

     //Check that the email is not taken and confirm validation 
     if ((userPass === confirm)) { 
     localStorage.setItem('emailz', userMail.value); 
     localStorage.setItem('passwordz', userPass.value); 
     } else { 
     text.innerHTML = 'Password does not match!'; //line 14 
     } 
    } 

    function loginSetup() { 
     var mail = localStorage.getItem('emailz'); 
     var pass = localStorage.getItem('passwordz'); 
     var mailInput = document.getElementById('logEmail').value; 
     var passInput = document.getElementById('logPassword').value; 

     if ((mailInput === mail) && (passInput === pass)) { 
     alert(mail); 
     alert(pass); 
     } else { 
       text.innerHTML = 'Invalid login'; //line 28 
     alert('no dice'); 
     alert(mail); 
     alert(pass); 
     } 
    } 
+0

Veuillez également publier le code HTML approprié. Changez également toutes vos lignes 'alert' en' console.log', ce qui ne bloque pas l'interface utilisateur et ne cause aucun effet secondaire. –

+0

userMail et userPass n'ont aucune valeur lors de leur écriture dans localStorage, puisque ceux-ci sont déjà .value. – Lain

+0

Ouvrez la console dans vos outils de développement. Lisez les messages d'erreur. Vous avez mal orthographié les noms des fonctions pour commencer. – Quentin

Répondre

1

Vous devriez essayer de stocker userMail.value et userPass.value. Les deux encore sont déjà les valeurs suivantes:

var userMail = document.getElementById('email').value; //Those are values already 
var userPass = document.getElementById('password').value; //Those are values already 

if ((userPass === confirm)) { 
     localStorage.setItem('emailz', userMail); //Remove the .value 
     localStorage.setItem('passwordz', userPass); //Remove the .value 
} 

également n getEleme tsByClassName retourne une collection, donc vous voulez sélectionner le premier élément de celui-ci (assumably):

var text = document.getElemetsByClassName('errorText'); //Misstyped and no index.. wont work 

var text = document.getElementsByClassName('errorText')[0]; //Should work 
var text = document.querySelector('.errorText'); //Would prefer that one 

Enfin dans la fonction loginSetup() vous devez redéfinir le texte:

var text = document.querySelector('.errorText'); 
+0

Pourquoi le texte change-t-il d'avant en arrière? Tout d'abord, il a été mis en blanc, le code a été appelé, il a changé, mais il a ensuite changé. –

+0

Je peux difficilement dire puisque un homme partage simplement une petite partie du code réel et des appels de fonction. – Lain