0

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

現在、reset プロパティを使用してこのフィールドをリセットしています

xtype:'button',extjs× 6627
id:title+'cancelButton',
width:100,
text:'Cancel',
listeners : {
   'click':function(){
       Ext.getCmp(title+'_uploadFile').reset();
       } 

これを解決するのを手伝ってください よろしくお願いします。

4

1 に答える 1

1

IE8のセキュリティ「機能」のようです。jQuery を使用してこの問題を解決する関連トピックを次に示します。

空の入力タイプ ファイルが IE で機能しない

jQuery を使用して <input type='file' /> をクリアする

どちらも、入力フィールドを再作成する行で何かを示唆しています。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).

于 2012-09-24T18:23:22.713 に答える