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 相关文章推荐
Prototype使用指南之hash.js
Jan 10 Javascript
Javascript实现的分页函数
Feb 07 Javascript
javascript appendChild,innerHTML,join性能比较代码
Aug 29 Javascript
Jquery submit()无法提交问题
Apr 21 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
Aug 19 Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
Nov 27 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
Dec 20 Javascript
vue+webpack模拟后台数据的示例代码
Jul 26 Javascript
vue计算属性get和set用法示例
Feb 08 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
Apr 11 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
Oct 31 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
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
PHP在线书签系统分享
2016/01/04 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
PHP通过文件路径获取文件名的实例代码
2018/10/14 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
在vs2010中调试javascript代码方法
2011/02/11 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
JavaScript如何实现图片处理与合成
2020/05/29 Javascript
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
Django入门使用示例
2017/12/12 Python
Python 打印中文字符的三种方法
2018/08/14 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
python excel多行合并的方法
2020/12/09 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
网络安全方面的面试题
2016/01/07 面试题
夜大毕业自我鉴定
2013/10/11 职场文书
办公室前台岗位职责范本
2013/12/10 职场文书
工商治理实习生的自我评价
2014/01/15 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
2015年环卫工作总结
2015/04/28 职场文书
保留意见审计报告
2015/06/05 职场文书
慰问信(范文3篇)
2019/10/23 职场文书
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android