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 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
Apr 07 Javascript
js 获取子节点函数 (兼容FF与IE)
Apr 18 Javascript
js抽奖实现随机抽奖代码效果
Dec 02 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
Jan 10 Javascript
全面解析多种Bootstrap图片轮播效果
May 27 Javascript
localStorage实现便签小程序
Nov 28 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
May 17 Javascript
vue-router单页面路由
Jun 17 Javascript
使用DataTable插件实现异步加载数据
Nov 19 Javascript
常用的 JS 排序算法 整理版
Apr 05 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
Jun 25 Javascript
详解JavaScript的this指向和绑定
Sep 08 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读取数据库信息的几种方法
2008/05/24 PHP
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
2013/06/19 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
javascript中几个容易混淆的概念总结
2015/04/14 Javascript
JavaScript更改字符串的大小写
2015/05/07 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
js图片上传的封装代码
2017/08/01 Javascript
element ui里dialog关闭后清除验证条件方法
2018/02/26 Javascript
详解vue-cli@2.x项目迁移日志
2019/06/06 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
python实现合并两个数组的方法
2015/05/16 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
Python实现的微信好友数据分析功能示例
2018/06/21 Python
详解python和matlab的优势与区别
2019/06/28 Python
一道SQL面试题
2012/12/31 面试题
C#基础面试题
2016/10/17 面试题
幼儿如何来做好自我评价
2013/11/05 职场文书
物业公司采购员岗位职责
2013/12/31 职场文书
入党积极分子思想汇报范文
2014/01/05 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
2014年开学第一课活动方案
2014/03/06 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android