日期:2014-05-16  浏览次数:20399 次

通过JS函数自动获取表单元素值的方法(转)
做ajax提交懒得组合字符串,在网上找有没自动获取表单方法,找到这个,凑合着用,把原地址贴出来,虽然貌似也是转的,自己加了个获取select为multiple取值的方法。
通过JS函数自动获取表单元素值的方法(转)

function getFormQueryString(frmID){ //frmID为formID
    var frmID=document.getElementById(frmID); 
    var queryString = "", and = "";
    var item; 
    var itemValue;
    for(var i=0;i<frmID.length;i++ ){
        item = frmID[i];
        if ( item.name!='' ){
            if ( item.type == 'select-one' ){
                itemValue = item.options[item.selectedIndex].value;
            }else if(item.type == 'select-multiple'){
                for(var j=0;j<item.length;j++){
                    if(item.options[j].selected==true){
                        itemValue=item.options[j].value;
                        itemValue = escape(itemValue);
                        queryString += and + item.name + '=' + itemValue;
                        and="&";
                    }
                }
            }else if ( item.type=='checkbox' || item.type=='radio'){
                if ( item.checked == false ){
                    continue;    
                }
                itemValue = item.value;
            }else if ( item.type == 'button' || item.type == 'submit' || item.type == 'reset' || item.type == 'image'){
                continue;
            }else{
                itemValue = item.value;
            }
            if(item.type != 'select-multiple'){
                itemValue = escape(itemValue);
                queryString += and + item.name + '=' + itemValue;
                and="&";
            }
        }
    }
    return queryString;
}

//jquery有一个序列化,获取所有值
$("form").serialize();
//转换为json数据
$("form").serializeArray();
//分解json数据
$.param(json)