jquery的ajax提交页面中涉及多个form的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery的ajax提交页面中涉及多个form的问题相关的知识,希望对你有一定的参考价值。

我的页面原本只有一个form对象,分别是GoodsInfo,GoodsSell,GoodsImage,我使用ajax的ajaxSubmit()方法上传图片的时候,图片是上传上去了,页面也没有报错,也可以正常预览,但控制台总是报goodsInfo,GoodsSell里面的属性是空的,请问怎么解决,如果要拆分form的话 jquery的validate.js 怎么在最后一个form里面 验证第一个form是否正确,因为我的提交按钮在最后

参考技术A 你干什么弄多个form呢 这个本来就是 一类的信息 , 你提交图片后 再提交form信息啊 图片的数据表 给个未启用状态 当信息添加完成了 再更新这个状态为启用 就可以了 。如果没有提交信息 那么第二次加载这个页面的时候 删除未启用的 图片就是可以了吧。 参考技术B 分开写form。每个form分别给个不同的ID ,你要提交哪个form里的内容就用哪个ID。本回答被提问者采纳 参考技术C ajaxupload.js
百度一下这个,用ajax直接上传图片,然后图片上传成功后ajax返回图片路径
然后你就可以利用一个form表单提交数据了追问

我可以上传图片 页面也没有报错 只有控制台报goodsInfo 和goodssell为空

追答

那么控制台报错是在你上传图片的时候报错呢?还是你上传玩图片之后 提交表单的时候报错呢?

追问

我上传图片的时候是出发的$('#file').submit(); 然后会进入fileAction 的upload之前 控制台就报错了[在这个方法 一开始就打了断点 进入这个断点之前控制台就报错了]

追答

那你有没有试试先填写goodsInfo 和goodssell?

追问

我只是上传图片 还是点提交按钮呢 - =!

追答

有可能你的js把整个表单都提交了

ajax(或者jquery)怎么提交整个form表单

于是我想当修改成功的时候将信息返回到页面,想到ajax但是 我提交的是整个form表单的值 这个表单中有很多表单域的!就像注册一样要提交很多信息但是目前$.post()这种方式是不是只带一个参数。就算可待多个参数,那么我是不是要在,"":,"":.........将所有的信息都这么写在这里面这样是不是有点太麻烦了------解决方案--------------------------------------------------------JScript code $.ajax( cache: true, type: "POST", url:ajaxCallUrl, data:$('#yourformid').serialize(),// 你的formid async: false, error: function(request) alert("Connection error"); , success: function(data) $("#commonLayout_appcreshi").parent().html(data); );------解决方案--------------------------------------------------------var options =url:'xxxx.action',type:'post',data:null,success:function(data)if(data.statusCode=="OK") else;var form =$("form[name=form1]");//form1:表单ID 在表单界面只用这一个表单IDform.ajaxSubmit(options);------解决方案--------------------------------------------------------jQuery ajax - serialize() 方法定义和用法serialize() 方法通过序列化表单值,创建 URL 编码文本字符串。您可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身。序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。JScript code <form> <div><input type="text" name="a" value="1" id="a" /></div> <div><input type="text" name="b" value="2" id="b" /></div> <div><input type="hidden" name="c" value="3" id="c" /></div> <div> <textarea name="d" rows="8" cols="40">4</textarea> </div> <div><select name="e"> <option value="5" selected="selected">5</option> <option value="6">6</option> <option value="7">7</option> </select></div> <div> <input type="checkbox" name="f" value="8" id="f" /> </div> <div> <input type="submit" name="g" value="Submit" id="g" /> </div> </form> $('form').submit(function() alert($(this).serialize()); return false; );------解决方案-------------------------------------------------------- $.ajax(url: "/OrderManage/DataSave", 参考技术A $("button").click(function()
$.post("你的服务器文件",
//表单里的内容
name:"Donald Duck",
city:"Duckburg"
,
function(data,status)
alert("数据:" + data + "\n状态:" + status);
);
);

以上是关于jquery的ajax提交页面中涉及多个form的问题的主要内容,如果未能解决你的问题,请参考以下文章

ajax(或者jquery)怎么提交整个form表单

使用JQuery的.ajax()提交表单后当前页面表单内容被清空,请问如何保留数据?

jquery如何实现form提交无刷新返回一个页面

用ajax提交多个form表单

jQuery forms.js,每页有多个表单

使用 jquery-ajax 在多个表单中提交一个表单