2 qq 33873617 qq_33873617 于 2016.02.03 15:47 提问

EXTJs3.2 如何在选择文件后,将文件名获取放textfield中? 谢谢!

EXTJs3.2 如何在选择文件后,将文件名获取放textfield中?
图片说明

 Ext.onReady(function() {

            Ext.QuickTips.init();
            Ext.form.Field.prototype.msgTarget = 'side';


            var boardName = new Ext.form.TextField({
                  fieldLabel: '文件名',
                  width: 200,
                  xtype: 'textfield',
                  id: 'boardName'
            })

            var boardRevision = new Ext.form.TextField({
                  fieldLabel: '文件类型',
                  width: 200,
                  xtype: 'textfield',
                  id: 'boardRevision'
            })

/*          var zipField = new Ext.data.Field({
                xtype : 'field',
                fieldLabel : '选择文件 ',
                allowBlank : false,
                inputType : 'file',
                name : 'file',
                emptyText : 'No file selected'
            })*/

            var fm = new Ext.FormPanel({
                        // url : 'uploadController.jsp?t=' + new Date(),
                    renderTo : Ext.getBody(),   
                    layout : 'form',
                    title : 'CAD Upload',
                    height : 350,
                    width : 580,
                    padding : '20',
                    closeAction : 'hide',
                    plain : true,
                    autoScroll : true,

                    defaults:{
                        width:180
                        ,allowBlank:false               
                        ,blankText:'该项不能为空!'  
                    },

                    items : [boardName,{
                                    xtype : 'box',
                                    height : '30'
                                },boardRevision,{
                                    xtype : 'box',
                                    height : '30'
                                },{
                                    xtype : 'field',
                                    fieldLabel : 'Zip File ',
                                    allowBlank : false,
                                    inputType : 'file',
                                    name : 'file',
                                    emptyText : 'No file selected'
                                }],         // Ext.getCmpId("fieldID").getValue();

                        buttons : [{
                                    text : '开始上传',
                                    handler : function() {
                                        if (fm.form.isValid()) { 
                                            Ext.MessageBox.show({
                                                        title : '正在上传文件',
                                                        width : 240,
                                                        progress : true,
                                                        closable : false,
                                                        buttons : {
                                                            cancel : 'Cancel'
                                                        }
                                                    });
                                            fm.getForm().submit();
                                        } else {
                                            Ext.Msg.alert("消息","请先选择文件再上传.");
                                            fm.form.reset();

                                        }
                                    }
                                }]
                    });

        });

2个回答

showbo
showbo   Ds   Rxr 2016.02.03 17:28
已采纳
           , {
                xtype: 'field',
                fieldLabel: 'Zip File ',
                allowBlank: false,
                inputType: 'file',
                name: 'file',
                listeners: {
                    change: function () {////////
                        var m = /\\([^\\]+)$/.exec(this.getValue())[1];
                        Ext.get('boardName').dom.value = m;
                        Ext.get('boardRevision').dom.value = m.split('.')[1] || '';
                    }
                }
qq_33873617
qq_33873617 回复无聊码农: 谢谢码农 更改blur后监听到了
接近 2 年之前 回复
showbo
showbo 才会执行
接近 2 年之前 回复
showbo
showbo 回复qq_33873617: 3.0也没有问题,应该3.2也没问题。。3.x版本好像对change事件支持有问题,要blur后才会相应。。
接近 2 年之前 回复
showbo
showbo 回复qq_33873617: 3.3没有问题。。没有3.2的ext。。
接近 2 年之前 回复
qq_33873617
qq_33873617 事件没有监听到 EXTjs用的是3.2.1
接近 2 年之前 回复
qq_33873617
qq_33873617 事件没有监听到 EXTjs用的是3.2.1
接近 2 年之前 回复
qq_33873617
qq_33873617 谢谢高手! 我试了下,文件名和类型没有填充,不知道什么原因
接近 2 年之前 回复
qq_33873617
qq_33873617   2016.02.03 17:41

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!