保持表单状态超过页面刷新?

时间:2014-01-27 02:41:52

标签: javascript jquery dom

我试图想出一种方法来保持表单状态超过页面刷新/重新加载。到目前为止,我找到了dumbformstate插件。哪个很漂亮。我唯一的问题是动态注入字段。他们不会坚持刷新。任何人都有任何可以使用动态注入字段的建议吗?

或者,如果有人使用过这个特定的插件,知道它是否应该使用动态,字段,而我只是插入错误的方式?我就是这样做的:

success: function(data) {
    var html = $("<div><h3>"+catName+"</h3></div>");
    html.find("h3").data("category",catName);
    subCatContainer.append(html);
    subCatsFetched = subCatContainer.find("h3");

    $(data).each(function(){
        var input = $('<label>'+this.sub_cat_name+'<input type="checkbox" name="sub_cat[]" value="'+this.sub_cat_id+'" /></label>');
        html.append(input);
    });
}

或者字段是否可能由于它们位于div元素内而不会持久存在?有理由说他们必须在div里面,所以我真的无法真实地做到这一点。

或者我想要寻找的另一件事是一些通用的“DOM preserver”,我可以在其中获取一些任意的DOM,并通过刷新(cookies / localstorage)来保存它。但在这种情况下,我猜测输入的值最终会被保留?

编辑:

这个问题确实没有答案。正如我对这个插件所做的那样的假设,是错误的。它所做的就是存储有关表单所有元素的状态信息,它不会保留动态生成的DOM元素。在使用一些localStorage存储生成的DOM之后,所有输入的状态将按预期保持不变!

1 个答案:

答案 0 :(得分:1)

如果在自动填充字段后实例化插件怎么样?你的Javascript中有这样的东西:

//Load field's content
loadData( ... );

//Instantiate plugin
$('your-form').dumbFormState( ... )

这有用吗?