所以我有这个js文件将表单数据存储在本地存储中:
$(document).on('pageinit', function() { // dom ready handler for jQuery Mobile
$('#form1').validate({ // initialize form 1
// rules
});
$('#gotoStep2').on('click', function() { // go to step 2
if ($('#form1').valid()) {
// code to reveal step 2 and hide step 1
}
});
$('#form2').validate({ // initialize form 2
// rules
});
$('#gotoStep3').on('click', function() { // go to step 3
if ($('#form2').valid()) {
// code to reveal step 3 and hide step 2
}
});
$('#form3').validate({ initialize form 3
// rules,
submitHandler: function (form) {
// serialize and join data for all forms
var data = $('#form1').serialize() + '&' + $('#form2').serialize() + '&' + $(form).serialize();
window.localStorage.setItem('formData',data);
// ajax submit
return false; // block regular form submit action
}
});
// there is no third click handler since the plugin takes care of this
// with the built-in submitHandler callback function on the last form.
});
它完成了这项工作,但我不知道如果用户进入该站点以验证其各自字段中的数据是否正确,如何检索该信息以预填充表单。如果字段是单独存储的,我知道该怎么做,但如果它像示例一样序列化,我不知道该怎么做。
Sparky制作的一个工作示例,我刚刚添加了window.localStorage(...)
顺便说一句:有超过 100 个字段,而不仅仅是示例中的 3 个。