Jquery表单序列化后添加数据

Jquery表单序列化后添加数据,第1张

serialize()、serializeArray()方法都是jquery用户序列化表单的,用于ajax提交的data值的序列化

在chrome的控制台我们很清楚的看到了serializeArray()返回的是json数组,数组的每个对象都是有json字符串构成,我们可以看到,每个json字符串包括两个键值对,每个键值对都是有name,value组成,其实serializeArray()它把表单里的每个需要提交的dom的name的值赋给json字符串的name,dom的value的值赋给json字符串的value.

那么我们只需这要添加额外的内容:

var dataParam = $("#updateChannelForm").serializeArray()

例如我想添加sex="男"

dataParam.push({"name":"sex","value":"男"}) 就可以了

我们看到serialize()方法把表单里的内容序列化成了字符串

"id=58&channelType=2&subTitle=591teststetets&extAttrValueId=599"

那么我们只需这要添加额外的内容:

var dataParam = $("#updateChannelForm").serialize()

例如我想添加sex="男"

dataParam =dataParam +"&"+"sex=男"

比如设置table的id为tab

var

trHTML

=

"..."

$("#tab").append(trHTML)//在table最后面添加一行

$("#tab

tr:eq(2)").after(trHTML)

//

在table的第3行后面添加一行

这样就可以进行动态的添加行了,至于你是通过什么事件来动态添加那就看你自己的意思了,通过button或者div之类的点击事件添加,只要把上面的两行代码放进去就ok,注意,要把var

trHTML那行代码放进添加事件里面,不然不管点击多少下,都只能添加一行

$(function()

{

$(":button").click(function()

{

var

tr

=

"new"

//$("table").append(tr)

$("table

tr:eq(2)").after(tr)

})

})

这是我测试用的代码,你可以运行看看

$.ajax({

url: "autoGrabSeatAdd.aspx",

data: postDataArray,

type: "post",

dataType: "json",

error: function () {

alert("意外错误来自前端,请重试.")

},

success: function (result) {

if (result.State == "right") {

var taskId = result.taskId

taskMana(posturl, 'GetType=qzadd&taskId=' + taskId, "1", "autoGrabSeatManage.aspx")

// ArtUrlNo("添加成功", "autoGrabSeatManage.aspx", 2000, "1")

} else {

AlertTips(result.Msg, 1)

}

}

})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11477794.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存