js form转换成Hash格式

收藏的工具代码

function formToHash(form){
	    var hash = {}, el;
	    for(var i = 0,len = form.elements.length;i < len;i++){
	        el = form.elements[i];
	        if(el.name == "" || el.disabled) continue;
	        switch(el.tagName.toLowerCase()){
	        case "fieldset":
	            break;
	        case "input":
	            switch(el.type.toLowerCase()){
	            case "radio":
	                if(el.checked)
	                    hash[el.name] = el.value;
	                break;
	            case "checkbox":
	                if(el.checked){
	                    if(!hash[el.name]){
	                        hash[el.name] = [el.value];
	                    }else{
	                        hash[el.name].push(el.value);
	                    }
	                }
	                break;
	            case "button":
	                break;
	            case "image":
	                break;
	            default:
	                hash[el.name] = el.value;
	                break;
	            }
	            break;
	        case "select":
	            if(el.multiple){
	                for(var j = 0, lens = el.options.length;j < lens; j++){
	                    if(el.options[j].selected){
	                        if(!hash[el.name]){
	                            hash[el.name] = [el.options[j].value];
	                        }else{
	                            hash[el.name].push(el.options[j].value);
	                        }
	                    }
	                }
	            }else{
	                hash[el.name] = el.value;
	            }
	            break;
	        default:
	            hash[el.name] = el.value;
	            break;
	        }
	    }
	    form = el = null;
	    return hash;
	}

转载于:https://www.cnblogs.com/mrliuc/archive/2011/04/25/2026773.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值