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 相关文章推荐
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
Nov 04 Javascript
初窥JQuery(一)jquery选择符 必备知识点
Nov 25 Javascript
javascript简单性能问题及学习笔记
Feb 04 Javascript
jquery无刷新验证邮箱地址实现实例
Feb 19 Javascript
jQuery 插件开发指南
Nov 14 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
Jan 31 Javascript
在javascript中使用com组件的简单实现方法
Aug 17 Javascript
Vue.js组件tab实现选项卡切换
Mar 23 Javascript
JavaScript 中Date对象的格式化代码方法汇总
Sep 06 Javascript
node打造微信个人号机器人的方法示例
Apr 26 Javascript
vue cli 3.x 项目部署到 github pages的方法
Apr 17 Javascript
详解如何使用Node.js实现热重载页面
May 06 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
老照片 - 几十年前的收音机与人
2021/03/02 无线电
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
2015/08/24 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
js实现数组去重方法及效率?Ρ? target=
2017/02/14 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
[02:36]DOTA2混沌骑士 英雄基础教程
2013/11/26 DOTA
Python splitlines使用技巧
2008/09/06 Python
python将字符串转换成数组的方法
2015/04/29 Python
Python 使用SMTP发送邮件的代码小结
2016/09/21 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
Python原始套接字编程实例解析
2020/01/29 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
通过代码实例了解Python异常本质
2020/09/16 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
Android笔试题总结
2014/11/29 面试题
销售人员个人求职信
2013/09/26 职场文书
医学生实习自荐信
2013/10/01 职场文书
房地产销售计划书
2014/01/10 职场文书
交通事故和解协议书
2014/09/25 职场文书
2015年党员承诺书
2015/01/21 职场文书
高温慰问简报
2015/07/21 职场文书
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL