0

我有一个将值存储到本地存储的调查。试图制作一个非常简单的“管理”页面,其唯一目的是仅通过表格等以半有组织的方式显示本地存储。我不完全确定如何去做。

这是我必须存储的内容。

$( document ).ready(function() {
    $('#Save').click(function (e) {
        if (confirm('Are you sure you want to submit? You will not be able to go back.')) {
            var person = $("#FirstName").val() + "." + $('#LastName').val();
            $('input, select, textarea').each(function () {
                var value = $(this).val(),
                    name = $(this).attr('name');
                localStorage[person + "." + name] = value;
                window.location.href = "Confirmation.html";
                console.log('stored key: ' + name + ' stored value: ' + value);
            });
        }
    });
});

存储的键是 firstname.lastname.element,value。如果它可以像按键排序的控制台视图一样简单地显示,那就太好了。一个方向上的任何一点都将不胜感激。

4

1 回答 1

0

除非您真的无法操作服务器端代码,否则我强烈建议您使用$.ajax将表单发布到服务器然后返回响应。我怀疑本地存储是否旨在以这种方式提交表单。否则,请参见下文。

为了让您在下一页显示您的 localStorage 项目,您需要在下一页上引用您的 localStorage 项目。更改后window.location.href,上一页的上下文不再有效,因此name不再value存在。您应该对两个页面都使用类似的内容:
Submit.html

$(document).ready(function() {
    $('#Save').click(function (e) {
        if (confirm('Are you sure you want to submit? You will not be able to go back.')) {
            var person = $("#FirstName").val() + "." + $('#LastName').val();
            $('input, select, textarea').each(function () {
                var value = $(this).val(),
                    name = $(this).attr('name');
                localStorage["name"] = name;
                localStorage["person"] = person;
                localStorage[person + "." + name] = value;
                window.location.href = "Confirmation.html";
                console.log('stored key: ' + name + ' stored value: ' + value);
            });
        }
    });
});

确认.html

$(document).ready(function() {       
    var name = localStorage["name"];
    var person = localStorage["person"];
    var value = localStorage[person + "." + name];
    console.log('stored key: ' + name + ' stored value: ' + value);
});
于 2013-10-24T17:36:42.533 回答