ExtJs 图片上传

上传控件:
var panel3 = new ext.form.formpanel({
labelalign : 'left',
labelwidth:60,
border : false,
bodystyle : 'padding:4px;',
frame : false,
url : '../ajaxdata/uploadfile.jsp',
autoheight : true,
fileupload : true,
items : [{
id : 'file',
autoscroll : false,
xtype : 'textfield'
fieldlabel:'本地上传',
name : 'file',
hidelabel : true,
// inputtype : 'file'//按照ext默认的属性将inputtype设为file时,始终响应不了onchange事件,结果就以autocreate的方式,如下,因为这种方式相当于html里的input,所以也就响应得了啦!

autocreate : {
tag : "input",
type : "file",
size : "20",
autocomplete : "off",
onchange : "browseimages(this.value);"
}
}]

,
buttons : [{
text : '上传',
handler : function() {
panel3.getform().submit({
// waittitle : "请稍候",
waitmsg : "正在上传...",
success : function(form, action){},
failure : function(form, action) {
global.alert('上传图片失败!');
}
})
}
}]
});

/*
* 编辑
* @date 2008 july 10
*/
经过实践,还存在一种可以激发change事件的方法;
首先说一下获取form里面的field的三种方法:
1)ext.getcmp('id');
2)formpanel.getform().findfield('id/name');
3)ext.get('id/name'); //前提是formpanel在界面上显示出来了

应用上面的第1和第2种方法得到的组件均触发不了change事件,只有第三种方法可以
触发,前提是formpanel要在界面上显示出来,所以需要触发show事件,然后在show
事件里调用ext.get('id/name'),由于formpanel经常是放在ext.window里的,所
以新的问题又来了:
1)调用formpanel.on('show',fn);//当window显示出来的时候,事件没有触发
2)调用formpanel.getform().on('show',fn);//情况同上
3)调用formpanel.ownerct.on('show',fn);//ok 一切搞定
其中scope也是需要注意的一项!

如果再不行的话,可以先调用:
formpanel.ownerct.on('render',function(){
formpanel.ownerct.on('show',fn,this);
},this);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值