extjs×6627,3.x版本,在mozilla浏览器中重置是为inputType:'file'工作,但它不适用于IE8浏览器,这是我的代码,
xtype :'textfield',
name:'Policy_fileUpload',
id :title+'_uploadFile',
inputType :'file',
fieldLabel :'Upload File and Location<font color=red>*</font>',
blankText :'Please choose a file',
anchor :'100%',
required :true,
autoShow :true
现在使用重置属性重置此字段
xtype:'button',extjs× 6627
id:title+'cancelButton',
width:100,
text:'Cancel',
listeners : {
'click':function(){
Ext.getCmp(title+'_uploadFile').reset();
}
请事先帮助我解决此问题。
答案 0 :(得分:1)
它似乎是IE8中的安全“功能”。以下是使用jQuery给出此问题的解决方案的相关主题:
Empty input type file doesn't work in IE
Clearing <input type='file' /> using jQuery
他们都提出了重新创建输入字段的建议。要在ExtJS 3.x中执行此操作,您可以尝试这样的事情:
listeners : {
'click':function(){
var uploadField = Ext.getCmp('_uploadFile');
if (Ext.isIE8) {
var cfg = uploadField.initialConfig;
uploadField.destroy();
var parentCt = Ext.getCmp('parentContainer');
parentCt.insert(0, cfg);
parentCt.doLayout();
} else {
uploadField.reset();
}
}
}
此外,似乎IE9的行为方式相同。因此,您可能希望if (Ext.isIE)
代替if (Ext.isIE8)
。