• js实现表单序列化的两种方法。


    function serialize(form) {
        var parts = [],
                elems = form.elements,
                i = 0,
                len = elems.length,
                filed = null;
        for (; i < len; i++) {
            filed = elems[i];
            switch (filed.type) {
                case "select-one":
                case "select-multiple":
                    if (filed.name.length) {
                        var j = 0,
                                opt,
                                optLen = filed.options.length;
                        for (; j < optLen; j++) {
                            opt = filed.options[j];
                            if (opt.selected) {
                                parts.push(encodeURIComponent(filed.name) + "=" + encodeURIComponent(opt.value));
                            }
                        }
                    }
                    break;
                case undefined:
                case "submit":
                case "reset":
                case "file":
                case "button":
                    break;
                case "radio":
                case "checkbox":
                    if (!filed.checked) {
                        break;
                    }
                default:
                    if (filed.name.length && filed.value) {
                        parts.push(encodeURIComponent(filed.name) + "=" + encodeURIComponent(filed.value));
                    }
            }
        }
        return parts.join("&");
    }

     这个方法重点用了HTML5中的FormData ,还有es6中for of循环。

      function serialize(form) {
            var formData = new FormData(form),
                getValue = formData.entries(),
                parts = [];
            for (var pair of getValue) {
                parts.push(pair[0] + "=" + pair[1]);
            }
            return parts.join("&");
        }
  • 相关阅读:
    呵呵
    geoserver中WMS服务详细说明
    Linux的用户和用户组管理
    linux ftp配置
    linux下vi命令大全
    linux基本命令大全
    Python ConfigParser
    java 小程序分析:参数传递
    java final
    java静态初始化块(静态域)
  • 原文地址:https://www.cnblogs.com/huanlei/p/6140475.html
Copyright © 2020-2023  润新知