我试过操纵Ke Yang使用的代码,其中localStorage用于将表单字段中的文本反射到其他字段。我想做类似的事情。使用localStorage在一个页面上自动填充多个表单?
我有一个页面(可下载的库),其中包含大约10个引导生成表单。一旦填写并提交,表单就会向用户发送可下载的内容。简单的东西。但是,如果用户想要在此页面上下载多个内容,则让他们继续填写相同的表单是没有意义的。表单完全相同,字段和字段名称相同,只是不同的表单标识。
我想使用localStorage,这样一旦用户在页面上填写了一个表单,他们就可以在任何其他表单的顶部检查一个框,然后浏览器会自动填充他们的数据,然后点击提交。理想情况下,这些数据即使在离开页面后也会保存。数据提交由表单本身处理,所以不需要cookie(localStorage更好)。
这里的(minimalised)代码,我到目前为止,这下(功能(在我scripts.js中文件$){云:
$(‘input[name=target]’).click(function() {if($(‘input[name=target]’).is(‘:checked’)) {
if (localStorage[“first-name”]) {
$(‘input[name=first-name]’).val(localStorage[“first-name”]);
}
if (localStorage[“last-name”]) {
$(‘input[name=last-name]’).val(localStorage[“last-name”]);
}
if (localStorage[“your-email”]) {
$(‘input[name=your-email]’).val(localStorage[“your-email”]);
}
}
});$(‘.wpcf7-text’).change(function() {
localStorage[$(this).attr(‘name’)] = $(this).val();
});
上面你看到不同的字段的名称。一种形式中的HTML看起来像这样,这里的复选框将需要打勾来调用存储的表单数据:
后<p><input id="target2" name="target2" type="checkbox" value="Downloaded our stuff before?" /> Downloaded our stuff before?</p>
<input type = "text" name ="first-name" class="wpcf7-text">
<input type = "text" name ="last-name" class="wpcf7-text">
<input type = "text" name ="your-email" class="wpcf7-text">
以前输入到窗体的文本需要被存储(不清除)用户点击提交,允许他们在第一次下载后轻松下载更多内容。
感谢堆提前!
在表单提交检查您器isChecked应该正确的参数设置到本地存储后尝试localstorage.setItem()],并在窗体加载,你应该检查以查看本地存储中是否存在数据,并使用localstorage.getItem()或使用localstorage.getItem()设置每个输入框的值,然后将值设置为输入框 – Farzan
嗨,请参阅这里了解如何发布最小,完整且可验证的示例:http://stackoverflow.com/help/mcve –