当发布一篇文章时往往需要添加标题图片,但在火狐浏览器中图片的预览和修改时的回显并不能像ie中那样操作,还需要对其进行一些处理。
1,预览问题,在火狐中获取textfield值只能得到上传文件的名字,并非像ie下一样可以得到其路径。所以这里得做下判断处理
if(Ext.isIE7){ var image = Ext.get('titleImgs').dom; //titleImgs是image的id image.src = Ext.BLANK_IMAGE_URL;//覆盖原来的图片 image.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src= url; }else{ Ext.get('titleImgs').dom.src = Ext.get('titleImg').dom.files.item(0).getAsDataURL(); //titleImg为textfield的id } }
这里只是简单的做下处理
2,回显问题
这个是因为回显时给textfield自动赋值了,而在火狐下这种是认为不安全的操为报异常,作所以一直显示正在加载状态。
不管你是json数据传输还是xml,只要你后台所拼装的数据名称没有和textfield name相同就行,这样就不会给
自动赋值。当回显时怎么办呢,这可以在ajax请求成功后的success回调函数里面去做
success:function(form,action){ var titleImgsobj = Ext.getCmp('titleImgs'); var titleValue = action.result.data.titleImgs1;//titleImgs1即你图片路径 if(titleValue === ""){ titleImgsobj.getEl().dom.src = Ext.BLANK_IMAGE_URL;//覆盖原来的图片 }else{ titleImgsobj.getEl().dom.src = titleValue; } }