Jquery 组合form元素为json格式,asp.net反序列化


Posted in Javascript onJuly 09, 2009

作者:敖士伟 Email:ikmb@163.com 转载注明作者
说明: 1、js根据表单元素class属性,把表单元素的name和value组合为json格式;用表单元素class属性可以针对性地组合JSON数据。
2、后端ASP.NET用JavaScriptSerializer反序列化为对象实列。
3、好处:简化了前端数据读取与后端数据赋值。

function GetJSONStr(class_name) { 
var a = []; 
//文本框 
$("." + class_name).filter(":text").each(function(i) { 
//alert(this.name); 
//alert(this.value); 
a.push({ name: this.name, value: this.value }); }); 
//下拉列表 
$("." + class_name).filter("select").each(function(i) { 
//alert(this.name); 
//alert(this.value); 
a.push({ name: this.name, value: this.value }); 
}); 
//单选框 
$("." + class_name).filter(":radio").filter(":checked").each(function(i) { 
//alert(this.name); 
//alert(this.value); 
a.push({ name: this.name, value: this.value }); 
}); 
//复选框开始 
var temp_cb = ""; 
$("." + class_name).filter(":checkbox").filter(":checked").each(function(i) { 
if (temp_cb.indexOf(this.name) == -1) { 
temp_cb += this.name + ","; 
} 
}); 
var temp_cb_arr = temp_cb.split(","); 
var cb_name = ""; 
var cb_value = ""; 
for (var temp_cb_i = 0; temp_cb_i < temp_cb_arr.length - 1; temp_cb_i++) { 
cb_name = temp_cb_arr[temp_cb_i]; 
var cb_value_length = $("input[name='" + temp_cb_arr[temp_cb_i] + "']:checked").length; 
$("input[name='" + temp_cb_arr[temp_cb_i] + "']:checked").each(function(i) { 
if (i == cb_value_length - 1) 
cb_value += this.value; 
else 
cb_value += this.value + ","; 
}); 
//alert(cb_name); 
//alert(cb_value); 
a.push({ name: cb_name, value: cb_value }); 
} 
//复选框结束 

//组合为JSON 
var temp_json = ""; 
for (var json_i = 0; json_i < a.length; json_i++) { 
if (json_i != a.length - 1) { 
temp_json += '"' + a[json_i].name + '":"' + a[json_i].value + '",'; 
} 
else { 
temp_json += '"' + a[json_i].name + '":"' + a[json_i].value + '"'; 
} 
} 
return "{" + temp_json + "}"; 
}

ASP.NET
public partial class test : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
JavaScriptSerializer Serializer = new JavaScriptSerializer(); 
string r = Request.Form["msg"]; //{"Name":"MyName1","Single":"one"} 
t_json t_json_object = Serializer.Deserialize<t_json>(r); 
Response.Write(t_json_object.Name); 
Response.End(); 
} 
} 
class t_json 
{ 
public DateTime Name; 
public string Single; 
}
Javascript 相关文章推荐
使用javascript控制cookie显示和隐藏背景图
Feb 12 Javascript
js动态往表格的td中添加图片并注册事件
Jun 12 Javascript
深入理解javascript构造函数和原型对象
Sep 23 Javascript
JavaScript实现信用卡校验方法
Apr 07 Javascript
Bootstrap table两种分页示例
Dec 23 Javascript
AugularJS从入门到实践(必看篇)
Jul 10 Javascript
微信小程序使用request网络请求操作实例
Dec 15 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
Nov 04 Javascript
vue点击页面空白处实现保存功能
Nov 06 Javascript
js+canvas实现画板功能
Sep 13 Javascript
vue+iview使用树形控件的具体使用
Nov 02 Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
Jul 09 #Javascript
JavaScript 继承的实现
Jul 09 #Javascript
jquery text,radio,checkbox,select操作实现代码
Jul 09 #Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
Jul 09 #Javascript
jQuery 1.3 和 Validation 验证插件1.5.1
Jul 09 #Javascript
javascript xml为数据源的下拉框控件
Jul 07 #Javascript
JS 自动完成 AutoComplete(Ajax 查询)
Jul 07 #Javascript
You might like
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
php array_slice函数的使用以及参数详解
2008/08/30 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
Python生成器定义与简单用法实例分析
2018/04/30 Python
python3个性签名设计实现代码
2018/06/19 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
python七种方法判断字符串是否包含子串
2020/08/18 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
详解Canvas事件绑定
2018/06/27 HTML / CSS
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
Bulk Powders意大利:运动补充在线商店
2019/02/09 全球购物
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
管理心得体会
2013/12/28 职场文书
通信生自我鉴定
2014/01/18 职场文书
商务英语专业求职信范文
2014/01/28 职场文书
保险公司演讲稿
2014/09/02 职场文书
大学军训自我鉴定大全
2014/09/18 职场文书
专题组织生活会发言材料
2014/10/17 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL
Java实现二分搜索树的示例代码
2022/03/17 Java/Android