2016-12-09 10 views
-1

14行目と28行目では、ラベルタグのテキストは変更されていません。また、recorFormまたはloginSetupでは、データが上書きされます。
私は.keyでループを試みましたが、間違った結果が出力されました。私は何が間違っているのか分かりません。
だから私はこれでそれを残しています。ラベルのinnHTMLは変更されませんなぜ私が知りたいことはある
。(私はそれが負荷によるだと仮定)localStorage上書きされた/ innerHTMLが失敗する

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

関連するHTMLも投稿してください。また、すべての 'alert'行を' console.log'に変更してください。これはUIをブロックせず、副作用を引き起こしません。 –

+0

userMailとuserPassはlocalStorageに書き込んでいる間は値がありません。それらはすでに.valueなので、値はありません。 – Lain

+0

デベロッパーツールでコンソールを開きます。エラーメッセージを読んでください。あなたは最初に関数名を間違えてしまった。 – Quentin

答えて

1

あなたはuserMail.valueとuserPass.valueを保存しようとする必要があります。どちらも、まだ、すでに値は次のとおり機能で最後に

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 

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 
} 

またgetEleme N tsByClassNameはあなたがそれの最初の項目(assumably)を選択したいので、コレクションを返します。 loginSetup()テキストを再定義する必要があります。

+0

テキストが前後に切り替わるのはなぜですか?最初に、それは空白に設定され、コードが呼び出され、変更されましたが、その後変更されました。 –

+0

人が実際のコードと関数呼び出しの小さな部分を共有するだけなので、私はほとんど言いません。 – Lain

関連する問題