IE、Chrome选择附件后文本框值丢失
问题描述:
查看ajaxFileUpload.js源码:
由此分析:此插件会把原来的file元素重新替换成新的file元素,因此之前绑定的change事件就失效了。
解决方法:
由于安全考虑,在IE和chrome下 ,jquery的clone并不能克隆input field的值,所以就导致克隆后新的input丢失了原来的值。
在jQuery(form).submit(); 后面加上这四句,原理是提交后把元素再复制回来。如下图所示:
var oldElement = jQuery('#jUploadFile' +id ,form);
var newElement = jQuery('#'+s.fileElementId );
jQuery(newElement).replaceWith(oldElement);
jQuery(oldElement).attr('id', s.fileElementId )
ajaxFileUpload返回json带<pre>
问题描述:
文件正常提交,后台接收正常,action中返回json正常,用火狐查看,响应的值也是正常的。但是,ajax调用js中,就是不走success的方法。经过调查,是因为返回的json中,带有<pre>
标签
解决方法:
ajaxfileupload.js文件,uploadHttpData中eval( “data = ” + data );变为data = jQuery.parseJSON(jQuery(data).text());