提问者:小点点

存储用户输入并重定向[已关闭]


“我的页”包含以下对象:

Text input to type info.
Checkbox if want to save info.
Submit button

我想保存信息,如果选中,和任何一种方式导航到另一个页面。

我想用localstorage存储用户信息,而不是我不知道用什么方法来实现?

我一直在研究对复选框使用这样的脚本:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="TT_sticky_header" id="TT_sticky_header_function" value="{TT_sticky_header}" onchange="stickyheaddsadaer(this)"/> Remember me

<script>
    function stickyheaddsadaer(obj) {
  if($(obj).is(":checked")){
    alert("Yes checked"); //when checked
    $("#page-header-inner").addClass("sticky");
  }else{
    alert("Not checked"); //when not checked
  }
  
}
</script>

但我不确定如何将其连接到submit按钮。 有人能帮帮我吗?


共2个答案

匿名用户

我没有看到您的表单html,所以我将布局脚本。

const submitBtn = // your submit btn with document.querySelector for example
const checkbox = // your checkbox
const input = // data to save
submitBtn.addEventListener('click', function(e) {
  e.preventDefault();
  if(checkbox.checked) {
    window.localstorage.setItem('userInfo', input.value);
  }

  window.location = 'your redirect url';
}

要读取任何页面上的项值,只需使用

const userInfo = window.localstorage.getItem('userInfo');
if(userInfo) {
  // do something
}

匿名用户

您必须使用localstorage.setItem来存储在localstorage(getItem,获取它)中。 SetItem方法有两个参数,第一个是要保存的信息的名称(您可以任意选择),第二个是值。 从LocalStorage中检索信息时需要第一个。

<script>
    function stickyheaddsadaer(obj) {
  if($(obj).is(":checked")){
    alert("Yes checked"); //when checked
    localstorage.setItem("info", $("#info").text() );
    $("#page-header-inner").addClass("sticky");
  }else{
    alert("Not checked"); //when not checked
  }
  
}
</script>

如果需要整个页面内容,可以使用

document.body.innerText

而不是

$("#info").text()

localstorage的值可以在chrome dev tools(键盘上为F12)中的application选项卡中找到。

如果要检索它,可以使用

const info = localstorage.getItem("info");