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 获取元素在页面上的偏移量的方法汇总
Apr 13 Javascript
JavaScript判断数组是否包含指定元素的方法
Jul 01 Javascript
初识angular框架后的所思所想
Feb 19 Javascript
jQuery animate easing使用方法图文详解
Jun 17 Javascript
Boostrap基础教程之JavaScript插件篇
Sep 08 Javascript
JavaScript实现审核流程状态的动态显示进度条
Mar 15 Javascript
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
javascript 日期相减-在线教程(附代码)
Aug 17 Javascript
vue 实现剪裁图片并上传服务器功能
Mar 01 Javascript
JS canvas绘制五子棋的棋盘
May 28 Javascript
JS实现贪吃蛇游戏
Nov 15 Javascript
vue+ESLint 配置保存 自动格式化代码
Mar 17 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+DBM的同学录程序(2)
2006/10/09 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
简述php环境搭建与配置
2016/12/05 PHP
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
基于jquery 的一个progressbar widge
2010/10/29 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
2013/11/22 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
js+html5操作sqlite数据库的方法
2016/02/02 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
详解vue项目中实现图片裁剪功能
2019/06/07 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
Python3实现转换Image图片格式
2018/06/21 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
python用requests实现http请求代码实例
2019/10/31 Python
详解python opencv、scikit-image和PIL图像处理库比较
2019/12/26 Python
python模拟实现分发扑克牌
2020/04/22 Python
Python Selenium操作Cookie的实例方法
2021/02/28 Python
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
工程预算与管理应届生求职信
2013/10/06 职场文书
超市创业计划书
2014/09/15 职场文书
大二学生自我检讨书
2014/10/23 职场文书
销售内勤岗位职责
2015/02/10 职场文书
Python Parser的用法
2021/05/12 Python