获取form表单的值并转化为字符串、JSONArray或JSONObject的方法及form取不到值的解决办法

form表单提交时,可能需要转化为不同的形式来作为参数请求接口。本文总结了将form表单的值并转化为字符串、JSONArray或JSONObject的方法。


1. form转化为字符串

var a=$('form').serialize();
alert(a);
 
  
 
  
该方法将form值转化为 key=value&key=value 的形式。


2. form转化为JSONArray

var a=$('form').serializeArray();
var str=JSON.stringify(a);
alert(str);

3. form转化为JSONObject
	function submit(){
             var a=$('form').serializeObject() ;
             var str=JSON.stringify(a);
             console.info(str);
         }
         
         $.fn.serializeObject = function() {  
            var o = {};  
            var a = this.serializeArray();  
            $.each(a, function() {  
                if (o[this.name]) {  
                    if (!o[this.name].push) {  
                        o[this.name] = [ o[this.name] ];  
                    }  
                    o[this.name].push(this.value || '');  
                } else {  
                    o[this.name] = this.value || '';  
                }  
            });  
            return o;  
        }  


 
  

附:form表单取不到input textarea值的解决办法

以上方法均可获取到input textarea的值,如果alert为空字符串,请检查input textarea的name属性是否已赋值,如没有name属性,则form取不到该文本框的值。


你可能感兴趣的:(html5)