前两天用到ajax提交含上传图片的表单。实现的功能比较简单,但是使用ajax提交表单 form.serialize只能实现普通的字段提交,上传图片却不能使用。
网上很多都是推荐使用jquery.form.js先单独上传图片,返回上传后图片文件名再提交表单。但是我就是需要一起提交,发现jquery.form.js的ajaxSubmit()还挺好用,而且比单独上传图片更简单。
在此贴上代码实现:
js:
$("#ok").click(function() { $("#gp").ajaxSubmit({ url : "xxx.action?action=saveOrUpdateObject", type : "post", dataType : 'json', success : function(data) { alert("设置成功!"); }, error : function(data) { alert("error:" + data.responseText); } }); });大概jsp代码:
<form id="gp" method="post" enctype="multipart/form-data"> <input type="text" name="" id="" /> <input type="file" name="" id="" accept="image/*"/> <input type="button" id="ok" value="保存" /> </form>