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 相关文章推荐
JsEasy简介 JsEasy是什么?与下载
Mar 07 Javascript
setTimeout与setInterval在不同浏览器下的差异
Jan 24 Javascript
写js时遇到的一些小问题
Dec 06 Javascript
javascript动画算法实例分析
Jul 31 Javascript
JS实现下拉菜单赋值到文本框的方法
Aug 18 Javascript
基于Jquery easyui 选中特定的tab
Nov 17 Javascript
如何防止INPUT按回车自动提交表单FORM
Dec 06 Javascript
React Native仿美团下拉菜单的实例代码
Aug 08 Javascript
分享5个好用的javascript文件上传插件
Sep 16 Javascript
javascript实现的时间格式加8小时功能示例
Jun 13 Javascript
使用js在layui中实现上传图片压缩
Jun 18 Javascript
微信小程序仿抖音短视频切换效果的实例代码
Jun 24 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
CI(CodeIgniter)框架介绍
2014/06/09 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
页面中body onload 和 window.onload 冲突的问题的解决
2009/07/01 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
js 操作符汇总
2014/11/08 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
ubuntu编译nodejs所需的软件并安装
2017/09/12 NodeJs
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
2018/01/30 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
[03:06]3分钟带你回顾DOTA2完美盛典&完美大师赛
2017/12/06 DOTA
常用python数据类型转换函数总结
2014/03/11 Python
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
python自动化生成IOS的图标
2018/11/13 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
Python 文件数据读写的具体实现
2020/01/24 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
梅西百货官网:Macy’s
2020/08/04 全球购物
Unineed中文官网:高端护肤美妆与时尚配饰,英国直邮
2020/07/23 全球购物
linux面试题参考答案(4)
2014/09/21 面试题
《赵州桥》教学反思
2014/02/17 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
离婚协议书格式
2015/01/26 职场文书
毕业证明书
2015/06/19 职场文书
Go各时间字符串使用解析
2021/04/02 Golang