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