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=男"

jquery表单提交数据的方法有两种:

一种是直接提交,调用submit()方法,

第二种是用ajax提交,ajax提交要注意讲数据序列化。

比如:

1、调用submit()方法

$(表单).submit()

2、ajax提交

$.ajax({

url: url,

data: $(表单).serialize(),

type: 'post',

success: function (data) {

}

})

JQuery构造一个form对象,然后form.submit()就等于是普通form表单向后台提交了!

//创建一个form对象

var form = document.createElement("form")

//将form对象添加到body中

document.body.appendChild(form)

//设置form的属性,等价于<form action="XXX.action" method="post"></form>

form.action = 'QuestionAction!pAsk'

form.method = 'post'

//创建隐藏input

var newInput = document.createElement("input")

newInput.setAttribute("type","hidden")

newInput.setAttribute("name","title")

newInput.setAttribute("value",title)

//将隐藏input添加到form中

form.appendChild(newInput)

//提交form对象

form.submit()


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存