如何通过表单类一次为所有表单输入创建localStorage

时间:2015-12-03 15:00:23

标签: jquery html5

我有一个jquery脚本,可以通过表单类为所有表单输入生成localsortage。在这个脚本中,我必须通过他的ID来定义每个输入。

我喜欢做的是立即为所有表单输入制作localsortage,如果我在表单中添加新输入,我不需要在脚本中定义它。

<form name="local_storage_form" method="post" action="" class="">

    <input type="text" name="your_name" id="your_name" class="localStore" value="" />
    <input type="text" name="your_surname" id="your_surname" class="localStore" value="" />

    <input type="submit" value="Submit" />
</form>

<script>
$(document).ready(function () {

function init() {

    if (localStorage["your_name"]) {
        $('#your_name').val(localStorage["your_name"]);
    }
    if (localStorage["your_surname"]) {
        $('#your_surname').val(localStorage["your_surname"]);
    }
}
$(document).on('keyup', ".localStore", function () {
    localStorage[$(this).attr('id')] = $(this).val();
});

init();

});
</script>

1 个答案:

答案 0 :(得分:1)

如果我明白你想要什么。

这是将使用localStore类获取所有表单输入的代码。并为每一个执行你的逻辑。

function init() {

    $("form input.localStore").each(function(i,v){

        if($(v).attr("id")){
            if (localStorage[$(v).attr("id")]) {
                $(v).val(localStorage[$(v).attr("id")]);
            }
        }
    });

}

Jquery.each() docs