图片上传,采用ajax方法提交form
采用ajax上传文件,需要用到jquery.form.js对form进行ajaxSubmit({})。
可能版本问题,发现上传成功后回传函数success不回调,改成complete才好使。
$page.find("form[name='fileForm']").ajaxSubmit({ url:"../../system/file/tmp/upload", complete:function(data, status, xhr){ if(data.statusText=="OK"){ $page.find("input[name='headIcon']").val(data.responseText); refreshImg(); } } });
各浏览器file控件兼容性不是很好,其中获取选择后的本地全路径不同游览器方法不一致,很有问题。网上找了一系列js,针对不同浏览器进行适配,花了很长时间也没有很好解决,原因是各浏览器版本太多不好做的全部都匹配。
解决办法:
如果想选择图片后,直接在网页上显示,干脆采用先上传,再将url回去由img显示。虽然经过网络跑了一圈,但当前网络都很快,图片一般不会很大,这么做大大节约可开发时间。毕竟上传图片早晚都要做的。
另外,浏览器的file控件比较难看,一般选择隐藏它,自己用其他控件来触发其click事件。用jq的trigger('click')很方便解决问题
相关推荐
kentrl 2020-11-10
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo
ajaxyan 2020-11-09
zndy0 2020-11-03
学留痕 2020-09-20
Richardxx 2020-11-09
learningever 2020-09-19
chongxiaocheng 2020-08-16
ajaxhe 2020-08-16
lyqdanang 2020-08-16
curiousL 2020-08-03
TONIYH 2020-07-22
时光如瑾雨微凉 2020-07-19
83510998 2020-07-18
坚持着执着 2020-07-16
jiaguoquan00 2020-07-07
李永毅 2020-07-05
坚持着执着 2020-07-05