当发布一篇文章时往往需要添加标题图片,但在火狐浏览器中图片的预览和修改时的回显并不能像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;
}
}
本文介绍了如何解决火狐浏览器在进行文章标题图片预览及回显时遇到的问题,包括通过判断浏览器类型来实现不同浏览器下图片路径的正确获取,以及解决回显时自动赋值的安全问题。
1万+

被折叠的 条评论
为什么被折叠?



