Jquery如何序列化form表單數據爲JSON對象

   jquery提供的serialize方法可以實現。jquery

$("#searchForm").serialize();
可是,觀察輸出的信息,發現serialize()方法作的是將表單中的數據以htpp請求格式拼接成字符串。
serialize確實是可以解決通常的提交數據。可是有時咱們須要的是一個object對象,而不是字符串(好比jqgrid reload時設置查詢條件參數,就須要object對象)。
方法以下:
(function(window, $) {
    $.fn.serializeJson = function() {
        var serializeObj = {};
        var array = this.serializeArray();
        var str = this.serialize();
        $(array).each(
                function() {
                    if (serializeObj[this.name]) {
                        if ($.isArray(serializeObj[this.name])) {
                            serializeObj[this.name].push(this.value);
                        } else {
                            serializeObj[this.name] = [
                                    serializeObj[this.name], this.value ];
                        }
                    } else {
                        serializeObj[this.name] = this.value;
                    }
                });
        return serializeObj;
    };
})(window, jQuery);

調用:
console.info($("#searchForm").serializeJson());
相關文章
相關標籤/搜索