A. Extjs使用方法添加TabPanel
把你的new_work声明放到tabpanel.add前面。
B. EXTjs 怎么调用样式方法
首先在html文件中引用css文件
然后使用cls : 'add'属性即可
C. extjs 调用后台方法 方法返回json字符串 的方法(C#)
你把写在页面后台代码里的方法写成webservice不就行了。
D. ExtJs中怎么上传文件
下面为大家介绍在ExtJs中上传文件的几种方法
第一种方法:传统的上传方式
在formpanal中增加一个fileUpload的属性
例子代码:
JScript 代码 复制
Ext.onReady(function(){
var form = new Ext.form.FormPanel({
renderTo:'file',
labelAlign: 'right',
title: '文件上传',
labelWidth: 60,
frame:true,
url: 服务器处理上传功能的url地址,//fileUploadServlet
width: 300,
height:200,
fileUpload: true,
items: [{
xtype: 'textfield',
fieldLabel: '文件名',
name: 'file',
inputType: 'file'//文件类型
}],
buttons: [{
text: '上传',
handler: function() {
form.getForm().submit({
success: function(form, response){
Ext.Msg.alert('信息', response.result.msg);
},
failure: function(){
Ext.Msg.alert('错误', '文件上传失败');
}
});
}
}]
});
});
第二种方法:借助Ext.ux.UploadDialog.Dialog的组件,在编码时需要导入两个文件
需要引入 Ext.ux.UploadDialog 样式文件 和 Ext.ux.UploadDialog.packed脚本文件。
例子代码
//在使用此方法进行文件上传时,其后台往页面的返回值类型是这样的:
//{'success':true,'message':'上传成功'}
//如果没有success:true,无论上传成功与否,显示的都是上传失败,其实这个和form.submit()的提交方式是一个道理。
var dialog = new Ext.ux.UploadDialog.Dialog({
autoCreate: true,
closable: true,
collapsible: false,
draggable: true,
minWidth: 400,
minHeight: 200,
width: 400,
height: 350,
permitted_extensions:['JPG','jpg','jpeg','JPEG','GIF','gif','xls','XLS'],
proxyDrag: true,
resizable: true,
constraintoviewport: true,
title: '文件上传',
url:用于处理上传文件功能的Url,
reset_on_hide: false,
allow_close_on_upload: true ,
upload_autostart: false
});
//定义上传文件的按钮
var btnShow = new Ext.Button({
text:'上传文件',
listeners:{
click:function(btnThis,eventobj){
dialog.show();
}
}
});
E. extjs的方法new Ext.Window获取返回值
后台返回的应该是json 对象字串 格式为{"success":true,"msg":"返回值"};
alert 应该 是 "上传完成"+action.result.msg.
F. extjs 如何通过down()方法获取平级子组件中的一个
down会取第一个,可以带春谨用query()方法获取所有的form,返回一个数组,你再遍历下拿森皮到自己想要的蠢基form,
例:var fromArr = panel.query('form');
G. 关于extjs里面方法问题,求大哥,大哥解答下,小弟跪谢
show是将租毕基已经生成的组件显示出来,render则是将未弊谨生成的组件渲染出来。
你数侍打断点就知道,show前,组件已经存在,render前,组件还没渲染。
H. extjs怎么自定义函数
转:
Ext JS自定义函数,令人崩溃的语法~
项目中有一段一直没看懂,貌似是关于Ext JS中自定义函数的:
Ext.ux.MessageBox = function() {
var msgCt;
function createBox(t, s, data, i) {
…………
}
return {
…………
};
}();
函数(createBox)之后,没有逗号,也没有分号,直接来了个return……。我一下子就晕了。手头能找到的两本书中都没有相应语法的介绍。今天偶然看到某高人的文章,顿时豁然开朗。最后大括号后面又来一对儿括号,这部分还是没有搞明白,以后再来研究吧~转载如下供查阅:
EXTJS的自定义函数,以下语句可创建一个函数:
Ext.Login=function(){
function IsLogin(){
……
}
return{
init:function(){
IsLogin();
},
Login:function(){
……
}
}
刚开始时让我比较郁闷的是这种JS里的函数调用机制,以上代码里,将创建一个名为Ext.Login()的对象,应该相当于一个类的意思吧,然后可在其里面写其他相关的方法。
在return里的为公有方法,这里面的方法可给外部程序调用(如在HTML文件里用),而在return以外的代码是其私有方法,只能在Ext.Login()这个对象里调用
如需要在其他页面调用里面的Login()方法,可直接写
<input id="login" onclick="Ext.Login().Login()" />
如果需要在页面加载时就调用,一般只需直接用EXTJS里的方法即可实现:
Ext.onReady(Ext.Login.init, Ext.Login);
这里的函数名并不需要加括号,第一个参数是要调用的方法,第二个是作用域,一般写此对象名即可。
I. extjs函数调用方法
当前this所引用的作用域已经改变了,可简单修改为
init: function() {
var me = this;//保存作用域
this.control({
'userlist textfield[id=searchId]':{
keyup:function(textfield, e){
if (e.getKey() == 13) {
me .searchUserByEnter(textfield); //调用原作用域方法
}
}
}
}
规范点可参照extjs写成scope参数控制this
J. 关于extjs方法调用的问题
第一个的含义是是否全选中所在的文本内容(默认为false),第二个是设置一个延迟的时间,单位是毫秒(默认为0,不延迟)。下面是两种调用的方法:
var textField = new Ext.form.TextField({
// 属性就省略了 ....
});
// 默认的调用
textField.focus();
// 设置延迟的调用
textField.focus(false, 100);
// 等同于上面的方式
textField.focus.defer(100, textField);
如果做一个测试的话可以发现使用后面两种方式之后就会达到预期的效果了,这是因为所有的可视控件需要一个渲染的差者时间的,如果不设戚庆告置focus的延迟时间,则再调用focus方法的时候该控件还没高明有渲染完成,当时是不会成功了。
参考资料:关于window的中field的focus问题