我有一个ExtJs窗口,当我点击一个按钮尝试在浏览器中打印一些文本字段的值时,它可以在Firefox中正常工作,但在Chrome中却没有...我在'我真的很困惑。
我尝试获取cmb_start_time
和cmb_end_time
的值,在Firefox中有效,但在Chrome中无效
Ext.define('form', {
extend: 'Ext.window.Window',
requires: [
'Ext.form.Panel'
],
id:'ticket-form',
height: 608,
width: 502,
closeAction: 'close',
title: 'Edit Ticket',
initComponent: function() {
var me = this;
archivopdf = "/pdf/pdf_init.pdf";
Ext.applyIf(me, {
items: [
{
xtype: 'form',
height: 608,
width: 498,
layout: 'absolute',
bodyPadding: 10,
title: '',
items: [
{
xtype: 'combobox',
id: 'cmb_start_time',
x: 20,
y: 180,
width: 180,
fieldLabel: 'Hora Inicio',
store: store_horas,
valueField: 'hora24',
displayField:'hora12'
},
{
xtype: 'combobox',
id: 'cmb_end_time',
x: 20,
y: 210,
width: 180,
fieldLabel: 'Hora Fin',
store: store_horas,
valueField: 'hora24',
displayField:'hora12'
},
{
xtype: 'button',
x: 310,
y: 530,
text: 'Limpiar',
listeners: {
click: function(){
console.log(Ext.getCmp('cmb_start_time').getValue()) //returns NULL
console.log(Ext.getCmp('cmb_end_time').getValue()) //returns NULL
}
}
]
}
]
});
me.callParent(arguments);
}
});
var new_window = Ext.create('form')
我需要在CHROME中完成这项工作
答案 0 :(得分:1)
我在您的示例中创建了一个fiddle,它在Chrome中为我工作(如果未选择任何值,则返回NULL)。
但是我无法建议通过他们的ID引用组件,因此我通过代码更改了代码以直接引用组件:
在initComponent中,我们创建组件,在var
或this
中保存引用,具体取决于我们需要的位置:
initComponent: function() {
// ...
var firstComboBox = Ext.create('Ext.form.field.ComboBox', {
id: 'cmb_start_time',
x: 20,
y: 180,
width: 180,
我们添加对项目的引用:
this.items = [
{
xtype: 'form',
height: 608,
width: 498,
layout: 'absolute',
bodyPadding: 10,
title: '',
items: [
firstComboBox,
点击按钮后,我们可以使用参考:
listeners: {
click: function(){
console.log(firstComboBox.getValue());
console.log(secondComboBox.getValue());
}
}