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之卸载鼠标事件的代码
May 14 Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
Apr 07 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
Dec 10 Javascript
将json当数据库一样操作的javascript lib
Oct 28 Javascript
js购物车实现思路及代码(个人感觉不错)
Dec 23 Javascript
javascript简单实现滑动菜单效果的方法
Jul 27 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
Aug 27 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
Apr 26 Javascript
第九篇Bootstrap导航菜单创建步骤详解
Jun 21 Javascript
JavaScript执行环境及作用域链实例分析
Aug 01 Javascript
js实现搜索栏效果
Nov 16 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
Oct 21 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
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
自己写了一个php检测文件编码的函数
2014/04/21 PHP
php中使用GD库做验证码
2016/03/31 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
javascript模拟命名空间
2015/04/17 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
python原始套接字编程示例分享
2014/02/21 Python
Djang中静态文件配置方法
2015/07/30 Python
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
如何用python整理附件
2018/05/13 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
Python接口自动化测试的实现
2020/08/28 Python
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
中国高端家电购物商城:顺电
2018/03/04 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
高分子材料个人求职信范文
2013/09/25 职场文书
人事主管岗位职责范本
2013/12/04 职场文书
大学生写自荐信的技巧
2014/01/08 职场文书
协议书样本
2014/04/23 职场文书
运动会入场口号
2014/06/07 职场文书
大学生实训报告总结
2014/11/05 职场文书
全国助残日活动总结
2015/05/11 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书
MySQL Router的安装部署
2021/04/24 MySQL