Ext.extend(MainPanel, Ext.TabPanel, { initEvents : function(){
MainPanel.superclass.initEvents.call(this);
this.body.on('click', this.onClick, this);
}, onClick: function(e, target){
if(target = e.getTarget('a:not(.exi)', 3)){
var cls = Ext.fly(target).getAttributeNS('ext', 'cls');
e.stopEvent();
if(cls){
var member = Ext.fly(target).getAttributeNS('ext', 'member');
this.loadClass(target.href, cls, member);
}else if(target.className == 'inner-link'){
this.getActiveTab().scrollToSection(target.href.split('#')[1]);
}else{
window.open(target.href);
}
}else if(target = e.getTarget('.micon', 2)){
e.stopEvent();
var tr = Ext.fly(target.parentNode);
if(tr.hasClass('expandable')){
tr.toggleClass('expanded');
}
}
}, loadClass : function(href, cls, member, text){
var id = 'docs-' + cls;
var tab = this.getComponent(id);
if(tab){
tab.getUpdater().update(href,true);
this.setActiveTab(tab);
if(member){
tab.scrollToMember(member);
}
}else{
var autoLoad = {url: href,scripts:true};
if(member){
autoLoad.callback = function(){
Ext.getCmp(id).scrollToMember(member);
}
}
var p = this.add(new DocPanel({
id: id,
cclass : cls,
text : text,
autoLoad: autoLoad,
iconCls: Docs.icons[cls]
}));
this.setActiveTab(p);
}
}, doSearch : function(e){
var k = e.getKey();
if(!e.isSpecialKey()){
var text = e.target.value;
if(!text){
this.searchStore.baseParams.q = '';
this.searchStore.removeAll();
}else{
this.searchStore.baseParams.q = text;
this.searchStore.reload();
}
}
}
});刚用extjs,很多地方都找不到答应,麻烦大大们了.
想问:
1.怎么通过javascript获取其它标签下的对象(或者DOM元素)
2.怎么通过javascript设置标签切换
3.怎么样添加一个formpanel(或者basicform),然后ajax提交结果
4.怎么样指定一个form表单提交的target是当前窗格(tabpanel)
谢谢各位,急用,如果有相关的好的学习资料也可以介绍一下
MainPanel.superclass.initEvents.call(this);
this.body.on('click', this.onClick, this);
}, onClick: function(e, target){
if(target = e.getTarget('a:not(.exi)', 3)){
var cls = Ext.fly(target).getAttributeNS('ext', 'cls');
e.stopEvent();
if(cls){
var member = Ext.fly(target).getAttributeNS('ext', 'member');
this.loadClass(target.href, cls, member);
}else if(target.className == 'inner-link'){
this.getActiveTab().scrollToSection(target.href.split('#')[1]);
}else{
window.open(target.href);
}
}else if(target = e.getTarget('.micon', 2)){
e.stopEvent();
var tr = Ext.fly(target.parentNode);
if(tr.hasClass('expandable')){
tr.toggleClass('expanded');
}
}
}, loadClass : function(href, cls, member, text){
var id = 'docs-' + cls;
var tab = this.getComponent(id);
if(tab){
tab.getUpdater().update(href,true);
this.setActiveTab(tab);
if(member){
tab.scrollToMember(member);
}
}else{
var autoLoad = {url: href,scripts:true};
if(member){
autoLoad.callback = function(){
Ext.getCmp(id).scrollToMember(member);
}
}
var p = this.add(new DocPanel({
id: id,
cclass : cls,
text : text,
autoLoad: autoLoad,
iconCls: Docs.icons[cls]
}));
this.setActiveTab(p);
}
}, doSearch : function(e){
var k = e.getKey();
if(!e.isSpecialKey()){
var text = e.target.value;
if(!text){
this.searchStore.baseParams.q = '';
this.searchStore.removeAll();
}else{
this.searchStore.baseParams.q = text;
this.searchStore.reload();
}
}
}
});刚用extjs,很多地方都找不到答应,麻烦大大们了.
想问:
1.怎么通过javascript获取其它标签下的对象(或者DOM元素)
2.怎么通过javascript设置标签切换
3.怎么样添加一个formpanel(或者basicform),然后ajax提交结果
4.怎么样指定一个form表单提交的target是当前窗格(tabpanel)
谢谢各位,急用,如果有相关的好的学习资料也可以介绍一下
Ext.getCmmp();tab.setActiveTab(1);myFormPanel.getForm().submit({
clientValidation: true,
url: 'updateConsignment.php',
params: {
newStatus: 'delivered'
},
success: function(form, action) {
Ext.Msg.alert('Success', action.result.msg);
},
failure: function(form, action) {
switch (action.failureType) {
case Ext.form.Action.CLIENT_INVALID:
Ext.Msg.alert('Failure', 'Form fields may not be submitted with invalid values');
break;
case Ext.form.Action.CONNECT_FAILURE:
Ext.Msg.alert('Failure', 'Ajax communication failed');
break;
case Ext.form.Action.SERVER_INVALID:
Ext.Msg.alert('Failure', action.result.msg);
}
}
});
formpanel 放在tabpanel里面 提交不就是当前的tabpanel下面的了。
如 取 ID为 'm1.窗口1' 的tabpanel下 id为 'id1'的div,要怎么写表达式呢?
2.tab.setActiveTab(1);
tab还没有对象实例化可以直接使用吗?我试了一下,貌似不行.
3.多谢,不过要再麻烦一下,当前的tabpanel下怎么再创建一个formpanel呢?
用个最简单的范例就可以了.
4.已解决
tab 和 myFormPanel 要怎么样得到.再麻烦说清楚一些.
ExtJS的高人都不在了吗?
100分都没人想要...我可以再加分的.
如 取 ID为 'm1.窗口1' 的tabpanel下 id为 'id1'的div,要怎么写表达式呢?是Ext.getCmp();这个取ext控件的,如果去dom元素,直接Ext.getDom('id1')即可2.tab.setActiveTab(1);
tab还没有对象实例化可以直接使用吗?我试了一下,貌似不行.必须先实例,当实例后,直接调用Ext.getCmp('tabpanel的id').setActiveTab('新实例的tab标签id');
3、最简单的方式在tabpanel里html标签,里面加载iframe,然后iframe加载另一的页面,另一页面直接写相关程序即可。
比如我在提交表单后设置了按钮A不可用,但是想在操作完成后让按钮A再恢复可用状态,如果没有办法直接操作 TabPanel 下的对象,便没办法处理.是否可以绑定 ExtJS 事件到已存在的表单?
Ext.onReady(function(){
Ext.getDom("__form").on("submit",
function(){
success:function(){},
failure:function(){}
});
});