как сравнить сохраненные элементы хранилища данных с пользовательским вводом в js, используя dom или jquery

avatar
Adam.M
8 августа 2021 в 19:20
37
1
0

Мне удалось создать форму регистрации и сохранить ее в локальном хранилище. теперь я хочу создать форму входа, я анализирую локальное хранилище, а затем сравниваю, но это не работает, я не знаю, что не так с моим кодом, есть советы?

const signup = () => {
  let formData = JSON.parse(localStorage.getItem("formData")) || [];

  let exist =
    formData.length &&
    JSON.parse(localStorage.getItem("formData")).some(
      (data) =>
        data.email.toLowerCase() == document.getElementById("email") &&
        data.password.toLowerCase() == document.getElementById("password").value
    );

  if (!exist) {
    formData.push({
      // e.preventDefault();    // to stop page reload
      email: document.getElementById("email").value,
      pwd: document.getElementById("password").value,
      pwd2: document.getElementById("password2").value,
    });

    localStorage.setItem("formData", JSON.stringify(formData));
    console.log(localStorage.getItem("formData"));
  }

const signin = () => {

    
  let formData = JSON.parse(localStorage.getItem("formData")) || [];
  let exist =
    formData.length &&
    JSON.parse(localStorage.getItem("formData")).some(
      (data) =>
        data.email == document.getElementById("signEmail").value &&
        data.password == document.getElementById("signinPassword").value
    );
    if (exist == true) {
        isLogged=true;
        console.log("You are loged in."); 
      }
    }
    ```
    why do we save it this way     || [];  ?
Источник

Ответы (1)

avatar
Adam.M
9 августа 2021 в 02:38
0
const signin = () => {
  if (localStorage.getItem("formData")) {
    // as long as you are getting items from the local storage... do..

    JSON.parse(localStorage.getItem("formData")).forEach((data) => {
      let x = document.getElementById("signEmail").value;
      let z = document.getElementById("signinPassword").value;
      console.log(x, z);
      if (data.email == x && data.pwd == z) {
        console.log("You are LOGGED");
      }
    });
  }
};

Я сравнивал данные формы с undefined, потому что я не использовал правильный ключ, который я использовал для хранения данных в localStorage.