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 相关文章推荐
JS+CSS实现模仿浏览器网页字符查找功能的方法
Feb 26 Javascript
jquery插件ajaxupload实现文件上传操作
Dec 09 Javascript
详解vuejs之v-for列表渲染
Jun 22 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
Sep 20 Javascript
Node.js Event Loop各阶段讲解
Mar 08 Javascript
Vue.js轮播图走马灯代码实例(全)
May 08 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 27 Javascript
JavaScript实现捕获鼠标坐标
Apr 12 Javascript
javascript实现时间日期的格式化的方法汇总
Aug 06 Javascript
Openlayers绘制地图标注
Sep 28 Javascript
JavaScript 防篡改对象的用法示例
Apr 24 Javascript
一文搞懂redux在react中的初步用法
Jun 09 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
Php+SqlServer实现分页显示
2006/10/09 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
escape函数解决js中ajax传递中文出现乱码问题
2014/10/30 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
python使用webbrowser浏览指定url的方法
2015/04/04 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
电子商务应届生自我鉴定
2014/01/13 职场文书
项目考察欢迎辞
2014/01/17 职场文书
活动策划邀请函
2014/02/06 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
早会开场白台词大全
2015/06/01 职场文书
反腐倡廉观后感
2015/06/08 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
Python入门之基础语法详解
2021/05/11 Python
MySQL创建管理KEY分区
2022/04/13 MySQL