jQuery 文件上传插件ajaxFileUpload使用以及onchange问题

来源:互联网 发布:mysql fetch array 编辑:程序博客网 时间:2024/05/21 07:08

今天用了ajaxFileUpload文件上传的一个插件,开始提示$ is not a function,这个是jQuery没引入,秒解决。

突然又来$.ajaxFileUpload is not a function,有点懵逼了,顺序也是正确的,没有发现任何问题。

后面紧接着还有一个提示$(...).live is not a function,这个函数是$.ajaxFileUpload里面的。

然后进去看了发现change


因为当时页面我绑定了一个事件

<input id="fileToUpload" type="file" name="file" multiple="multiple" onchange="ajaxFileUpload()"/>

 onchange="ajaxFileUpload()问题就出在这里。因为才开始接触比较多的前端知识,把onchange改成change?或者livechange?(这个应该不行)。具体没这样试。我直接在js写的onchange事件,然后什么错误都没有,一切正常,图片已存储都可以。

那么问题又来了,onchange只执行一次,哇靠,上传一张图片之后再点击无效。心想执行一次,那就把它替换了从新加事件吧。一切OK


代码:

uploadListener();function uploadListener() {$("#fileToUpload").on('change', function() {$.ajaxFileUpload({url : '/foodRecomment/upload',secureuri : false,fileElementId : 'fileToUpload', //file标签的id  dataType : 'text', //返回数据的类型  //             data:{name:'name'},//一同上传的数据  success : function(data, status) {console.debug(data);data = data.replace(/<pre.*?>/g, '');data = data.replace(/<PRE.*?>/g, '');data = data.replace("<PRE>", '');data = data.replace("</PRE>", '');data = data.replace("<pre>", '');data = data.replace("</pre>", '');data = $.parseJSON(data);if (data.dealFlag == 1) {//alert(data.dealMsg);//var template = $("#template").html();//var html = Mustache.render(template, data);//fileNameList.push(data.fileName);//$("#upload").before(html);$("#fileToUpload").replaceWith("<input id='fileToUpload' type='file' name='file' multiple='multiple'/>");uploadListener();} else if (data.dealFlag == 0) {alert(data.dealMsg);}},error : function(data, status, e) {alert(e);}});});}



阅读全文
0 0
原创粉丝点击