2012-03-01 2 views
1

У меня проблема с получением значения textField.Extjs4, Как получить значение текстового поля

Вид:

У меня есть переменная Toobar и добавить к TBAR моей панели.

var orderListTbar = Ext.create('Ext.Toolbar',{ 
    id : 'orderListTbar', 
    items : [ 
     '',{ 
      xtype : 'radiofield', 
      name : 'searchType', 
      value : 'order_name', 
      boxLabel : 'Order Name' 
     },'',{ 
      xtype : 'radiofield', 
      name : 'searchType', 
      value : 'order_no', 
      boxLabel : 'Order No' 
     },'',{ 
      xtype : 'radiofield', 
      name : 'searchType', 
      value : 'status', 
      boxLabel : 'Status' 
     },'=',{ 
      xtype : 'textfield', 
      name : 'keyword', 
      value : 'Keyword' 
     },'|',{ 
      xtype : 'datefield', 
      name : 'order_from', 
      fieldLabel : 'From ', 
      labelWidth : 40, 
      width : 150, 
      value : new Date() 
     },'~',{ 
      xtype : 'datefield', 
      name : 'order_to', 
      fieldLabel : "To ", 
      labelWidth : 40, 
      width : 150, 
      value : new Date() 
     },'|',{ 
      xtype : 'button', 
      name : 'searchBtn', 
      text : "Search" 
     } 
    ] 
}); 

И в моем контроллере. Я хочу получить значение полей.

init : function(application){   

     this.control({ 
      "#orderListTbar button[name=searchBtn]" : { 
       click : function(){ 
        orderFrom = Ext.ComponentQuery.query('#orderListTbar [name=order_from]'); 
        console.log(orderFrom); // it return Object as well 
        console.log(orderFrom.value); // BUT, it return undefined!!!! @[email protected] 

       } 
      } 
     }); 
    }, 

Кто-нибудь знает, что я сделал не так?

и если вы нашли что-то не так в моих кодах, пожалуйста, посоветуйте мне.

Спасибо!

+0

, и я не уверен, что использовать «Ext.ComponentQuery.query()» для отслеживания полей. Если я ошибаюсь, пожалуйста, советую мне. –

ответ

3

Вы должны использовать метод getValue вместо value. value не указан в API. Также обратите внимание, что Ext.ComponentQuery.query возвращает массив.

+0

Я также попытался getValue() тоже, но сообщение об ошибке говорит: "orderFrom.getValue не является функцией" @. @ –

+0

Я заметил, что 'query' возвращает массив. Попробуйте 'orderFrom [0] .getValue()' – Krzysztof

+0

Wow thank you! он возвращает массив! zz –

3

Другой тип сценария разрешается следующим образом:

orderFrom = Ext.ComponentQuery.query("[name=order_from]",orderListTbar); 
Смежные вопросы