美文网首页
2018-09-20

2018-09-20

作者: VisuperviReborn | 来源:发表于2018-09-20 17:20 被阅读8次

    原生js序列化表单

     function  serialize(target) {
          let arrFormData = [], objFormData = {},rel = {};
          [].slice.call(target.elements).forEach(function (ele) {
              let type = ele.type,disabled = ele.disabled,name = ele.name,value = encodeURIComponent(ele.value || '');
              if(!name || disabled || !type ||(/^reset|submit|image$/i.test(type)) || (/^checkbox|radio$/i.test(type) && !ele.checked)){
                return;
              }
              type = type.toLocaleLowerCase();
              if(type !== 'select-multiple') {
                  if (objFormData[name]) {
                      objFormData[name].push(value);
                  } else {
                      objFormData[name] = [value];
                  }
              }else{
                [].slice.call(ele.querySelector('option')).forEach(function (option) {
                  let optionValue = encodeURIComponent(option.value || '');
                  if(option.selected){
                    if(objFormData[name]){
                      objFormData[name].push(optionValue);
                    }else{
                      objFormData[name] = [optionValue];
                    }
                  }
                });
              }
          });
          for(let key in objFormData){
    
    
            arrFormData.push(key+'='+objFormData[key].join());
          }
          // return arrFormData.join('&');
          return objFormData;
      }
    
    

    可以返回json格式数据,也可以返回拼接好的字符串
    在最后return的时候可以选择返回格式
    用的时候把最后改一下就行了

    相关文章

      网友评论

          本文标题:2018-09-20

          本文链接:https://www.haomeiwen.com/subject/wwpnnftx.html