【发布时间】:2012-07-08 05:19:51
【问题描述】:
我的页面标题上有一个首选项链接,它打开一个模式窗口(用于修改用户首选项,如姓名或密码)。
在取消按钮上,我关闭了这个窗口,但是当我试图重新打开它时,我遇到了这个 JS 错误:
el.addCls.apply(el, arguments);
是我使用了关闭这个窗口的好方法还是问题出在其他地方?
这是我的代码:
// My window definition
Ext.define('jnotes.window.UserPreferences', {
extend: 'Ext.window.Window',
layout: 'fit',
modal: true,
renderTo: Ext.getBody(),
title: "<s:text name='user.preferences' />",
items: new Ext.form.Panel({
bodyPadding: 5,
waitMsgTarget: true,
method: 'POST',
fieldDefaults: {
labelAlign: 'right',
labelWidth: 85,
msgTarget: 'side'
},
defaultType: 'textfield',
items: [{
... // my fields
}],
buttons: [{
text: "<s:text name='action.save'/>",
handler: function() {
this.up('form').fireEvent('validate');
},
}, {
text: "<s:text name='action.cancel'/>",
handler: function() {
this.up('form').fireEvent('cancel');
}
}]
})
});
var preferencesWindow = null;
// Open my window
function displayPreferences() {
preferencesWindow = Ext.create('jnotes.window.UserPreferences');
var form = preferencesWindow.down('form');
form.addListener('validate', this.saveUser, this);
form.addListener('cancel', function() {
preferencesWindow.close();
preferencesWindow = null;
}, this);
form.load({
... // Loading data
});
preferencesWindow.show();
};
【问题讨论】:
-
您使用的是什么版本的 ExtJs?错误到底发生在哪里?
-
显示调用时发生错误。
-
附加信息:我在 Firebug 中使用断点,它发生在我的表单对象的 addCls 调用中。
标签: javascript extjs window modal-dialog