“我的页”包含以下对象:
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按钮。 有人能帮帮我吗?
我没有看到您的表单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");