form里既有数据也有图片上传
js代码:
<script type="text/javascript"> $(document).ready(function(){ //DOM的onload事件处理函数 $("#send").click(function(){ //当按钮button被点击时的处理函数 postdata(); //button被点击时执行postdata函数 }); }); function postdata(){ //提交数据函数 $.ajax({ //调用jquery的ajax方法 type: "post", //设置ajax方法提交数据的形式 url: "sendmes.php", //把数据提交到sendmes.php dataType: "json",//返回数据类型 data: $("#send_form").serialize(), }); } </script>
html form:
<form id="send_form" enctype="multipart/form-data"> <textarea name="message" id="msg"></textarea> <input type="file" name="upload" id="upload"> <input type="submit" class="send" id="send" value="发布"> </form>
现在就只能把textarea里的信息post到后端,图片上传不了,改怎么解决呢????
ajaxfileupload.js
google 下这个,
ajax异步无刷新上传插件, google, 有很多例子
,只能支持一个文件上传, 如果要加其他的
比如 upload.php?text=你要加的文本。
我的事jsp的
希望对你有用,以前学习的时候用到这个,给你翻出来了
不如你看看 $('#send_form').serialize() 能得到啥?
除非使用HTML5的File API,否则ajax没法直接POST文件的。
想要异步上传文件和图片可以是用iframe标签,然后将form 的target指定为你添加的iframe即可。具体代码就不贴了,你可以搜搜 “iframe 文件上传” 。或者找一些第三方库
建议用其他的上传库...比如plupload
这样上传用plupload , 其他的还是等上传后用AJAX提交...
老版本的XMLHttpRequest对象没有实现
详细说明:
http://www.ruanyifeng.com/blog/2012/0...
试过很多后,发现plupload还是很好用的,推荐。可以支持html5,flash,普通上传、进度条、回调等等。