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問題