<form id="loginform">
        <div>
            <label>賬號:</label><input type="text" name="account" id="account" /><br/>
            <label>密碼:</label><input type="text" name="password" id="password" /><br/>
            <input type="button" id="btn" value="提交" />
        </div>
    </form>

界面如下:

获取form表单数据

1)序列化方式

var $formData=$("#loginform").serialize();
//serializeObject()方法是jquery扩展方法,需要另外写js代码
var $jsonObj=$formData.serializeObject();

虽然能获取到数据,但格式是:account=licong&password=bacc,而非JSON数据格式。

将序列化的内容,转换为json对象。将下面的方法放进js文件中,并在使用的地方引用该js文件。

方式一:

//扩展jquery的格式化方法
$.fn.parseForm=function(){
    var serializeObj={};
    var array=this.serializeArray();
    var str=this.serialize();
    $(array).each(function(){
        if(serializeObj[this.name]){
            if($.isArray(serializeObj[this.name])){
                serializeObj[this.name].push(this.value);
            }else{
                serializeObj[this.name]=[serializeObj[this.name],this.value];
            }
        }else{
            serializeObj[this.name]=this.value; 
        }
    });
    return serializeObj;
};

方式二:

$.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;
};

2)数组的方式

var $formData={};
$formData["account"]=$("#account").val();
$formData["password"]=$("#password").val();

 

json对象和json字符串互转

//JSON字符串
var $jsonStr='{"account":"json","password":"pwd"}';
//JSON对象
var $jsonObj={"account":"json","password":"pwd"};

json字符串转json对象

//方法一
var $obj=eval('('+$jsonStr+')');
//方法二
var $obj=JSON.parse($jsonStr);

json对象转json字符串

var $str=JSON.stringify($jsonObj);

 

访问json对象里面的值

//方法一
var $account=obj.account;
//方法二
var $account=obj["account"];

 

 posted on 2019-06-04 15:36  会飞的金鱼  阅读(94)  评论(0)    收藏  举报