2014-01-04 3 views
0

Я использую ExtJs, и у меня есть следующая форма.ExtJs: установить системную дату как текст метки в панели формы

var tourPlanForm = new Ext.form.FormPanel({ 
bodyStyle : { 
    "background-color" : "#000000", 
    "padding" : "10px" 
}, 
layout : { 
    type : 'vbox', 
    // pack:'end' 
    align : 'center' 
}, 
defaults : { 
    labelWidth : 140, 
    padding : '10 0 0 0' 
}, 

items : [ { 
    xtype : 'compositefield', 
    labelWidth : 120, 
    items : [ { 
     xtype : 'label', 
     text : 'SystemDate', 
     forId : 'myFieldId', 
     style : 'marginleft:10px' 

    }, ] 
} 

], 
buttons : [ { 
    text : 'New', 
    handler : function() { 

     var sysDate = new Date(); 
     //alert(sysDate); 
     var lbTourCode = Ext.ComponentQuery.query('form > compositefield > label')[1]; 
     console.log(lbTourCode); 
     lbTourCode.setText(sysDate); 
    } 
}] 
}); 

У меня в форме новая кнопка и ярлык. Мне нужно установить системную дату как текст ярлыка, когда пользователь нажимает на новую кнопку. Я использовал

var lbTourCode = Ext.ComponentQuery.query('form > compositefield > label')[1]; 
     console.log(lbTourCode); 
     lbTourCode.setText(sysDate); 

Но это не работает. Firebug консоль говорит

Ext.ComponentQuery.query('form > compositefield > label')[1]; not define 

Я был бы очень признателен, если кто-нибудь пожалуйста, будьте так любезны, чтобы объяснить, что случилось с этим и как я должен преодолеть эту проблему.

Спасибо

ответ

2

массива равен нуль, на основе, возможно, ваша деталь находится:

Ext.ComponentQuery.query('form > compositefield > label')[0] 

Кроме того, добавление itemId к компоненту может сделать его проще для запроса позже (вы дополнительно иметь лишнюю запятую в массиве элемента, который может вызвать проблемы в некоторых браузерах):

items : [ { 
     xtype : 'label', 
     text : 'SystemDate', 
     forId : 'myFieldId', 
     style : 'marginleft:10px', 
     itemId:'myLabelField' 
    } ] 

Чтобы запросить позже itemId:

var field = Ext.ComponentQuery.query('#myLabelField')[0]; 
+0

** TypeError: Ext.ComponentQuery неопределен \t вар tourCode = Ext.ComponentQuery.query ('# idTourCode') [0]; ** – Rose18

+0

эта ошибка приходит – Rose18

+1

Я использую ExtJS 3.0 – Rose18