HTML5 localStorage 使用情况

HTML5 localStorage usage

我有一个巨大的表格,我打算让质量保证人员离线使用这些表格来收集年度产品质量审查的数据。由于监管要求的复杂性,此表单包含 1900 多个字段和单选按钮。

我目前已通过 sisyphus.js 调用 localStorage,它正在运行 - 保存所有字段的数据就好了。

我的问题是,在加载过程中,表单需要 7 秒才能完成加载 - 当然这是很长的时间 - 但这不是真正的问题。我真正的问题是,在进行任何输入后,在 onblur 事件之后,表单需要 2 秒多一点的时间才能接受更多输入。

这是我的代码:

$('form').sisyphus({
    locationBased: false,
    timeout: 10,
    autoRelease: false
});

我的问题:是否有一种方法可以由用户自行决定调用数据存储,可能是通过按钮,也可能是其他方法,以防止数据输入不断中断?

有人有什么想法吗?

您正在使用的插件 (sisyphus.js) 似乎不是为处理 "large" 数量的字段而编写的。

如果您查看来源:

https://raw.githubusercontent.com/simsalabim/sisyphus/master/sisyphus.js

您会看到有一个方法 saveAllData。结合 bindSaveDataOnChange 方法,每次更改字段时都会保存所有字段。

而且,如果不是这种情况,您仍然会每 10 秒延迟 2 秒(超时选项)。

我希望,一个快速修复方法是 fork/modify 或覆盖插件以取消 bindSaveDataOnChange 方法,并实现一个挂钩以在单击按钮时保存表单数据。并且,也许,删除或增加 timeout 选项。