Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从localStorage获取复选框值_Javascript_Php - Fatal编程技术网

Javascript 如何从localStorage获取复选框值

Javascript 如何从localStorage获取复选框值,javascript,php,Javascript,Php,有一个页面包含许多不同的复选框问题,这些问题随后被提交并填充到下一个页面,但是这个页面会被刷新,已经恼怒的潜在客户需要返回并再次填写表单。 现在我已经设置了localstorage,所以他不需要再次重新选择所有复选框,他只需要重新提交表单并返回操作 如何在问题页面上保留填充的值,以便这家伙不必返回重新提交 //大小保存 函数save(){ localStorage.setItem('100',checkbox.checked); var checkbox=document.getElement

有一个页面包含许多不同的复选框问题,这些问题随后被提交并填充到下一个页面,但是这个页面会被刷新,已经恼怒的潜在客户需要返回并再次填写表单。 现在我已经设置了localstorage,所以他不需要再次重新选择所有复选框,他只需要重新提交表单并返回操作

如何在问题页面上保留填充的值,以便这家伙不必返回重新提交

//大小保存
函数save(){
localStorage.setItem('100',checkbox.checked);
var checkbox=document.getElementById('100');
localStorage.setItem('200',checkbox.checked);
var checkbox=document.getElementById('200');
//尺寸载荷
函数加载(){
var checked=JSON.parse(localStorage.getItem('100');
document.getElementById(“100”).checked=checked;
var checked=JSON.parse(localStorage.getItem('200');
document.getElementById(“200”).checked=checked;
//这页需要打勾
echo获取站点url()。
“/the/checkmark/selected/was/”$\u POST['check\u group']。
“/.png”;

}
localStorage
有两个主要功能,
getItem
setItem
。对于
setItem
,您传入一个键和一个值。如果您再次写入该键,它将重写该值。因此,在您的情况下,如果选中一个框,您将执行此操作

localStorage.setItem("checkbox_value", true)
如果未选中该选项,则将传入false。要获取该值,可以使用jQuery进行如下操作:

$(checkbox).is(':checked') 
array = localStorage.getItem(key).split('\n'). 
并使用一个简单的if else子句传递true或false。然后,当您重新加载页面时,在
$(document).ready()上,您可以使用

localStorage.getItem(key) 
并使用JavaScript设置复选框值

localStorage
仅允许您存储字符串。您可以使用循环创建一个字符串,该字符串的所有复选框值都由某个分隔符分隔。因此,例如,如果有四个复选框的值为true false false true,则字符串将为“true\nfalse\nfalse\nRue”其中\n是分隔符。然后您可以将该字符串存储在
localStorage
中,当您检索该字符串时,可以将所有值放入一个数组中,如下所示:

$(checkbox).is(':checked') 
array = localStorage.getItem(key).split('\n'). 

然后你可以用新检索到的数组填充你的复选框。询问是否有任何需要澄清的地方。

localStorage
有两个主要功能,
getItem
setItem
。对于
setItem
,你传递一个键和一个值。如果你再次写入该键,它将重写该值。因此,在你的情况下如果勾选了一个框,你会怎么做

localStorage.setItem("checkbox_value", true)
如果未选中该选项,则将传入false。要获取该值,可以使用jQuery进行如下操作:

$(checkbox).is(':checked') 
array = localStorage.getItem(key).split('\n'). 
并使用一个简单的if else子句传递true或false。然后,当您重新加载页面时,在
$(document).ready()上,您可以使用

localStorage.getItem(key) 
并使用JavaScript设置复选框值

localStorage
仅允许您存储字符串。您可以使用循环创建一个字符串,该字符串的所有复选框值都由某个分隔符分隔。因此,例如,如果有四个复选框的值为true false false true,则字符串将为“true\nfalse\nfalse\nRue”其中\n是分隔符。然后您可以将该字符串存储在
localStorage
中,当您检索该字符串时,可以将所有值放入一个数组中,如下所示:

$(checkbox).is(':checked') 
array = localStorage.getItem(key).split('\n'). 

然后,您可以使用新检索的数组填充复选框。询问是否有任何需要澄清的地方。

我认为现在非常简单,尤其是对于功能,如果您编写一些代码,使所有复选框的管理成为您表单的一部分

首先,最好将所有复选框组合到一个地方

在这样的函数中,您可以声明要保存到localStoarge中的所有复选框选择器(现在您不需要将每个选择器的变量放入代码中的多个位置)

然后,为了使事情更简单,您可以将复选框中的所有值存储到单个对象中,而不是将结果保存在多个键中,这样管理起来就更简单了(假设您希望删除所有值或只更新一部分)

下面的函数将以上面函数中的所有复选框项为参数,重点是上面的函数将返回一个带有复选框id和复选框元素的数组,然后将所有数组缩减为包含所有id和值的单个对象,然后将对象存储到本地存储

在此之后,您需要另一个函数,该函数将从localStorge读取所有值,并将它们置于复选框“checked”状态

这只是一个简单的服务,可以管理您的问题,但我认为,对于任何其他更改,您可以自定义此解决方案,而不是将所有内容保留在多个变量中,而且如果您使用此解决方案向应用程序中添加更多复选框元素,您只需从第一个函数将相应的id添加到数组中即可

此处的示例:

我认为现在很简单,尤其是对于这个功能,如果您编写一些代码,使所有复选框的管理成为您的表单的话

首先,最好将所有复选框组合到一个地方

在这样的函数中,您可以声明要保存到localStoarge中的所有复选框选择器(现在您不需要将每个选择器的变量放入代码中的多个位置)

然后,为了使事情更简单,您可以将复选框中的所有值存储到单个对象中,而不是将结果保存在多个键中,这样管理起来就更简单了(假设您希望删除所有值或只更新一部分)

下面的函数将把上面函数t中的所有复选框项作为参数