我使用HTML5 sessionStorage来帮助在刷新时填充表单字段,但我遇到一些奇怪的错误。基本上,如果我改变任何值,表单停止工作。HTML5 sessionStorage未按预期工作
我现在写的这个表格就在这里; http://jsfiddle.net/takuhii/rjsjj9by/1/
HTML:
<form id="storeFields" method="post" action="">
<label>First Name:</label>
<input type="text" name="firstname" id="firstName" class="form-control" value="" />
<label>Last Name:</label>
<input type="text" name="lastname" id="lastName" class="form-control" value="" />
<label>Email:</label>
<input type="email" name="email" id="email" class="form-control" value="" />
<input type="submit" class="demo-button" value="Submit" />
</form>
JAVASCRIPT:
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();
});
我衍生它从该表格是在这里; http://jsfiddle.net/takuhii/45zfpfru/8/
HTML:
<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>
JAVASCRIPT;
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();
});
我不明白的是简单地改变它看起来的变量,是如何把整个形式?
任何帮助将不胜感激,因为我实在看不出有什么不对
如果这是另外一个问题重复,我提前道歉,因为我试图寻找,但没找到满意的答复...... 干杯 达伦
你看过在开发者控制台中打印的错误吗?如果是这样,你做了什么尝试和解决它们? – meagar
有没有错误,它只是不会将信息保存到sessionStorage :( – Takuhii