我有一个包含大约 30 种表单的表单模板。每次只会选择并提交一份表格。表单中的元素数量各不相同,但在 80 左右甚至更多。
我对此有两个要求:
- 表单提交应该能够缓存到 localStorage 并稍后在网络恢复时恢复到服务器。我怎样才能持久化表格?
- 我不想将模型放在 extjs 中,因为模型将在真正的后端构建。后端将根据用户选择和输入的组合来构建它。不确定这是否有意义。我唯一能想到的就是通过一些规则设置 inputId 并在后端进行映射。
有什么建议吗?
您能否在提交之前将基本表单数据推送到本地对象(数组?),并使用 $.ajax( ..., data:myDataObject ) 将数据提交到后端而不是表单?通过这种方式,您可以缓存数据,可以重新填充表单,或者根据响应根据需要重新提交。
我没有使用过 extjs(虽然看起来不错),但我想像这样:
function submitter() {
var myData = new Object(); //maybe make an array/object to store each form dataset separately?
//pseudo:
for each form element {
myData.push(item = value);
}
$.ajax({
'dataType': 'json',
'type': 'GET',
'url': sSource,
'data': myData,
'success': [fnCallback, fnMy2ndCallback] //single or array of callbacks.
});
function fnCallback(response) {
//check for failure, or success and proceed accordingly.
}
唐有一个美好的一天