手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Jquery 组合form元素为json格式,asp.net反序列化
Jquery 组合form元素为json格式,asp.net反序列化
摘要:作者:敖士伟Email:ikmb@163.com转载注明作者说明:1、js根据表单元素class属性,把表单元素的name和value组合为...

作者:敖士伟 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;

}

【Jquery 组合form元素为json格式,asp.net反序列化】相关文章:

游戏人文件夹程序 ver 3.0

纯javascript制作日历控件

JS/Jquery判断对象为空的方法

Javascript客户端脚本的设计和应用

jQuery插件jRumble实现网页元素抖动

基于zepto的移动端轻量级日期插件--date

jquery中添加属性和删除属性

Javascript技术栈中的四种依赖注入详解

Javascript获取统一管理的提示语(message)

javascript自定义右键弹出菜单实现方法

精品推荐
分类导航