在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()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)