Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-我可以从序列化的表单字符串填充表单输入吗?_Jquery_Query String_Form Fields_Auto Populating_Form Processing - Fatal编程技术网

jQuery-我可以从序列化的表单字符串填充表单输入吗?

jQuery-我可以从序列化的表单字符串填充表单输入吗?,jquery,query-string,form-fields,auto-populating,form-processing,Jquery,Query String,Form Fields,Auto Populating,Form Processing,考虑到我在页面上有一些表单,我知道我可以使用 var query = jQuery('#some-form').serialize(); 还可以使用$'some-input'.val…设置每个输入的值。。。。假设上面相同的表单被重置,但我仍然有查询字符串-有没有一种简单的方法从该字符串填充表单?我意识到我可以解析它并单独设置每个输入/选择,但我正在寻找一个更简单的解决方案。谢谢。应该可以帮助您。您可以将表单序列化为JSON数组,并使用MVVM映射插件自动填充表单 请参见如果您的表单只包含文本输

考虑到我在页面上有一些表单,我知道我可以使用

var query = jQuery('#some-form').serialize();

还可以使用$'some-input'.val…设置每个输入的值。。。。假设上面相同的表单被重置,但我仍然有查询字符串-有没有一种简单的方法从该字符串填充表单?我意识到我可以解析它并单独设置每个输入/选择,但我正在寻找一个更简单的解决方案。谢谢。

应该可以帮助您。

您可以将表单序列化为JSON数组,并使用MVVM映射插件自动填充表单


请参见

如果您的表单只包含文本输入,而不是数组,您可以尝试此插件,我从其非序列化函数对应项中改编了此插件,但它不会返回对象,而是填充其应用的表单

(function($){
    $.fn.fillformwithserialized = function(serializedString) {
        var str = decodeURI(serializedString);
        var pairs = str.split('&');
        var p, idx, val;
        for (var i=0, n=pairs.length; i < n; i++) {
            p = pairs[i].split('=');
            idx = p[0];

            var txtBox = this.find('#' + idx + ':input');
            if (txtBox.is(":text")) {
                txtBox.val(p[1]);
            }
        }

        return this;
    };
})(jQuery);
显然,您首先需要将表单保存在sessionStorage中。 例如:

sessionStorage.setItem("frmVeryImportantStuff", $(frmVeryImportantStuff).serialize());

刚刚尝试过,但它似乎不适用于多个select输入。谢谢我们可以做一些类似jQuery'FormID.valearlySerializedState;的事情吗;。。希望按照serializedState变量?填充所有表单字段?。。
sessionStorage.setItem("frmVeryImportantStuff", $(frmVeryImportantStuff).serialize());