JS 记住我复选框 - 信息不被召回

发布于 2025-01-11 09:16:05 字数 1563 浏览 3 评论 0原文

我有以下代码。问题是,当我将它放在 html 页面上时,代码可以正常工作,并且当我重新加载页面时,值会预先填充在输入字段中。

但是当我将其移动到 tools.js 文件时,这些字段无法在表单上预填充。我希望稍后返回时预先填充它们。

任何想法:

<div>
     <label>
     <input type="checkbox" id="customerRemember"  name="remember" > Remember me
     </label><br>
</div>

<input type="submit" id="submitButton" value='Submit'>

<script>

// Code to remember user details when remember me option checked on checked fiel------///
const rmCheck = document.getElementById("customerRemember"),
    nameInput = document.getElementById("name"),
    mobileInput = document.getElementById("mobile"),
    emailInput = document.getElementById("email");

if (localStorage.checkbox && localStorage.checkbox !== "") {
  rmCheck.setAttribute("checked", "checked");
  nameInput.value = localStorage.username;
  mobileInput.value = localStorage.usermobile;
  emailInput.value = localStorage.useremail;
} else {
  rmCheck.removeAttribute("checked");
  nameInput.value = "";
  mobileInput.value = "";
  emailInput.value = "";
}

submitButton.onclick =function() {
  if (rmCheck.checked && emailInput.value !== "") {
    localStorage.username = nameInput.value;
    localStorage.usermobile = mobileInput.value;
    localStorage.useremail = emailInput.value;
    localStorage.checkbox = rmCheck.value;
  } else {
    localStorage.username = "";
    localStorage.usermobile = "";
    localStorage.useremail = "";
    localStorage.checkbox = "";
  }
}
</script>

I have the following code as below. The issue is that when I have it in the on the html page the code works fine and when I reload the page the values are prefilled in the input field.

But when I move it to the tools.js file, the fields fail to pre=populate on the form. I would like them to be pre populated on return later.

Any ideas:

<div>
     <label>
     <input type="checkbox" id="customerRemember"  name="remember" > Remember me
     </label><br>
</div>

<input type="submit" id="submitButton" value='Submit'>

and

<script>

// Code to remember user details when remember me option checked on checked fiel------///
const rmCheck = document.getElementById("customerRemember"),
    nameInput = document.getElementById("name"),
    mobileInput = document.getElementById("mobile"),
    emailInput = document.getElementById("email");

if (localStorage.checkbox && localStorage.checkbox !== "") {
  rmCheck.setAttribute("checked", "checked");
  nameInput.value = localStorage.username;
  mobileInput.value = localStorage.usermobile;
  emailInput.value = localStorage.useremail;
} else {
  rmCheck.removeAttribute("checked");
  nameInput.value = "";
  mobileInput.value = "";
  emailInput.value = "";
}

submitButton.onclick =function() {
  if (rmCheck.checked && emailInput.value !== "") {
    localStorage.username = nameInput.value;
    localStorage.usermobile = mobileInput.value;
    localStorage.useremail = emailInput.value;
    localStorage.checkbox = rmCheck.value;
  } else {
    localStorage.username = "";
    localStorage.usermobile = "";
    localStorage.useremail = "";
    localStorage.checkbox = "";
  }
}
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终遇你 2025-01-18 09:16:05

window.onload = function() 包装代码解决了这个问题

    window.onload = function() {
    
    const rmCheck = document.getElementById("customerRemember"),
    nameInput = document.getElementById("name"),
    mobileInput = document.getElementById("mobile"),
    emailInput = document.getElementById("email");

if (localStorage.checkbox && localStorage.checkbox !== "") {
  rmCheck.setAttribute("checked", "checked");
  nameInput.value = localStorage.username;
  mobileInput.value = localStorage.usermobile;
  emailInput.value = localStorage.useremail;
} else {
  rmCheck.removeAttribute("checked");
  nameInput.value = "";
  mobileInput.value = "";
  emailInput.value = "";
}

submitButton.onclick =function() {
  if (rmCheck.checked && emailInput.value !== "") {
    localStorage.username = nameInput.value;
    localStorage.usermobile = mobileInput.value;
    localStorage.useremail = emailInput.value;
    localStorage.checkbox = rmCheck.value;
  } else {
    localStorage.username = "";
    localStorage.usermobile = "";
    localStorage.useremail = "";
    localStorage.checkbox = "";
  }
}

}

Wrapping the code with window.onload = function() solved the issue

    window.onload = function() {
    
    const rmCheck = document.getElementById("customerRemember"),
    nameInput = document.getElementById("name"),
    mobileInput = document.getElementById("mobile"),
    emailInput = document.getElementById("email");

if (localStorage.checkbox && localStorage.checkbox !== "") {
  rmCheck.setAttribute("checked", "checked");
  nameInput.value = localStorage.username;
  mobileInput.value = localStorage.usermobile;
  emailInput.value = localStorage.useremail;
} else {
  rmCheck.removeAttribute("checked");
  nameInput.value = "";
  mobileInput.value = "";
  emailInput.value = "";
}

submitButton.onclick =function() {
  if (rmCheck.checked && emailInput.value !== "") {
    localStorage.username = nameInput.value;
    localStorage.usermobile = mobileInput.value;
    localStorage.useremail = emailInput.value;
    localStorage.checkbox = rmCheck.value;
  } else {
    localStorage.username = "";
    localStorage.usermobile = "";
    localStorage.useremail = "";
    localStorage.checkbox = "";
  }
}

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文