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 闭包在封装函数时的简单分析
Nov 28 Javascript
javascript与CSS复习(《精通javascript》)
Jun 29 Javascript
数组方法解决JS字符串连接性能问题有争议
Jan 12 Javascript
使用iframe window的scroll方法控制iframe页面滚动
Mar 05 Javascript
JavaScript 基本概念
Jan 20 Javascript
Node.js编程中客户端Session的使用详解
Jun 23 Javascript
使用jQuery制作浮动工具栏的实例分享
May 13 Javascript
原生JS实现图片网格式渐显、渐隐效果
Jun 05 Javascript
webpack-dev-server自动更新页面方法
Feb 22 Javascript
微信小程序云开发(数据库)详解
May 17 Javascript
JS实现网站吸顶条
Jan 08 Javascript
vue配置型表格基于el-table拓展之table-plus组件
Apr 12 Vue.js
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笔试题
2009/08/04 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
php事务回滚简单实现方法示例
2017/03/28 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
JS 统计时间
2021/03/09 Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
JavaScript面向对象之Prototypes和继承
2012/07/12 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
js读取json的两种常用方法示例介绍
2014/10/19 Javascript
jquery滚动特效集锦
2015/06/03 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
Bootstrap路径导航与分页学习使用
2017/02/08 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
Python中用altzone()方法处理时区的教程
2015/05/22 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
如何使用Python 打印各种三角形
2019/06/28 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
How TDD works
2012/09/30 面试题
个人生活学习自我评价范文
2013/11/26 职场文书
批评与自我批评材料
2014/02/15 职场文书
农村党支部承诺书
2015/04/30 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript