用js将表单数据封装成json字符串
1.js中封装代码:
$.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.js调用方法:
//.loginForm换成你自己的选择器
jsonObj = $(".loginForm").serializeObject(); // json对象
var username = jsonObj.username;
...
3.html代码示例为(每个字段必须有name):
<form method="post" class="loginForm">
<div class="form-group">
<div class="input-group">
<div class="input-group-addon">
<i class="fa fa-user fa-fw"></i>
</div>
<input class="form-control" type="text" placeholder="用户名"
id="username" name="username" minlength="2" autocomplete="off">
</div>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon">
<i class="fa fa-desktop fa-fw"></i>
</div>
<input class="form-control" type="password" placeholder="密码"
minlength="5" id="password" name="password">
</div>
</div>
<button type="submit" class="btn btn-primary">登录系统</button>
</form>