serialize form in javascript

 1  function serialize(form) {
 2         var parts = new Array();
 3         var field = null;
 4 
 5         for (var i = 0, len = form.elements.length; i < len; i++) {
 6             field = form.elements[i];
 7 
 8             switch (field.type) {
 9                 case "select-one":
10                 case "select-multiple":
11                     for (var j = 0, optLen = field.options.length; j < optLen; j++) {
12                         var option = field.options[j];
13                         if (option.selected) {
14                             var optValue = "";
15                             if (option.hasAttribute) {
16                                 optValue = (option.hasAttribute("value") ? option.value : option.text);
17                             } else {
18                                 optValue = (option.attributes["value"].specified ? option.value : option.text);
19                             }
20                             parts.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(optValue));
21                         }
22                     }
23                     break;
24                 case undefined:
25                 case "file":
26                 case "submit":
27                 case "reset":
28                 case "button":
29                     break;
30                 case "radio":
31                 case "checkbox":
32                     if (!field.checked) {
33                         break;
34                     }
35                 default:
36                     parts.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(optValue));
37             }
38         }
39         return parts.join("&");
40     }

 

转载于:https://www.cnblogs.com/ongoing/archive/2013/05/16/3082560.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值