Javascript HTML5会话存储未按预期工作

Javascript HTML5会话存储未按预期工作,javascript,html,forms,Javascript,Html,Forms,我正在使用HTML5会话存储来帮助在刷新时填充表单字段,但我遇到了一些奇怪的错误。基本上,如果我更改任何值,表单将停止工作 我现在写的表格就在这里; HTML: 我从中得到的形式就在这里; HTML: 我不明白的是,仅仅改变它所寻找的变量是如何破坏整个表单的 任何帮助都将不胜感激,因为我真的看不出有什么问题 如果这是另一个问题的重复,我提前道歉,因为我试图寻找,但找不到满意的答案。。。 干杯 Darren在你的JS中尝试以下方法: $('.form-control').change(func

我正在使用HTML5会话存储来帮助在刷新时填充表单字段,但我遇到了一些奇怪的错误。基本上,如果我更改任何值,表单将停止工作

我现在写的表格就在这里;

HTML:

我从中得到的形式就在这里;

HTML:

我不明白的是,仅仅改变它所寻找的变量是如何破坏整个表单的

任何帮助都将不胜感激,因为我真的看不出有什么问题

如果这是另一个问题的重复,我提前道歉,因为我试图寻找,但找不到满意的答案。。。 干杯 Darren

在你的JS中尝试以下方法:

$('.form-control').change(function () {
    sessionStorage[$(this).attr('id')] = $(this).val();
});

您希望使用id属性(firstName、LastName、email)的值作为键来设置正确的会话值。在代码中,您正在查找不存在的属性。

是否查看了在开发人员控制台中打印的错误?如果是这样的话,你做了什么来尝试解决它们呢?没有错误,只是没有将信息保存到会话存储中:(我会尝试一下,但我也这么认为。我尝试过将所有内容命名为相同的名称,所有内容都称为firstName,但只有当所有内容都称为name:s时,表单才会快乐
function storeDetails() {
    if (sessionStorage["firstname"]) {
        $('#firstName').val(sessionStorage["firstname"]);
    }
    if (sessionStorage["lastname"]) {
        $('#lastName').val(sessionStorage["lastname"]);
    }
    if (sessionStorage["email"]) {
        $('#email').val(sessionStorage["email"]);
    }
}
storeDetails();

$('.form-control').change(function () {
    sessionStorage[$(this).attr('firstName')] = $(this).val();
    sessionStorage[$(this).attr('lastName')] = $(this).val();
    sessionStorage[$(this).attr('email')] = $(this).val();
});

$('#storeFields').submit(function() {
    sessionStorage.clear();
});
<form id="storeFields" method="post" action="">
    <label>Name:</label>
    <input type="text" name="name" id="name" class="stored" value="" />

    <label>Email:</label>
    <input type="email" name="email" id="email" class="stored" value="" />

    <label>Message:</label>
    <textarea name="message" id="message" class="stored"></textarea>

    <input type="submit" class="demo-button" value="Submit" />
</form>
function storeDetails() {
    if (localStorage["name"]) {
        $('#name').val(localStorage["name"]);
    }
    if (localStorage["email"]) {
        $('#email').val(localStorage["email"]);
    }
    if (localStorage["message"]) {
        $('#message').val(localStorage["message"]);
    }
}
storeDetails();

$('.stored').keyup(function () {
    localStorage[$(this).attr('name')] = $(this).val();
});

$('#storeFields').submit(function() {
    localStorage.clear();
});
$('.form-control').change(function () {
    sessionStorage[$(this).attr('id')] = $(this).val();
});