作家
登录

Jquery 组合form元素为json格式,asp.net反序列化

作者: 来源:www.28hudong.com 2013-03-30 02:30:01 阅读 我要评论

作者:敖士伟 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 新浪背投广告实现代码

今天查看了下新浪的js代码,发现一个背投的广告类代码,不论是从学习角度还是使用角度都是不错的,但发现了一个问题,会被屏蔽的。下面是具体的js类代码复制代码 代码如下:/* 轮播背投类 RotatorPB v3.1 Update by>>>详细阅读


本文标题:Jquery 组合form元素为json格式,asp.net反序列化

地址:http://www.17bianji.com/kaifa2/JS/28471.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)