2012-03-01 135 views
1

我有一個獲取textField值的問題。Extjs4,如何獲得文本字段值

查看:

我有商工具欄變量,我添加到我的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()」跟蹤領域。如果我錯了,請指教我。 – 2012-03-01 20:26:22

回答

3

您應該使用getValue方法代替value屬性。 value未在API中列出。 另請注意Ext.ComponentQuery.query返回數組。

+0

我也嘗試過getValue(),但錯誤消息說「orderFrom.getValue不是函數」@。@ – 2012-03-01 21:25:00

+0

我注意到'query'返回數組。嘗試'orderFrom [0] .getValue()' – Krzysztof 2012-03-01 21:43:52

+0

哇謝謝你!它返回一個數組! zz – 2012-03-01 21:47:40

3

另一種類型的腳本允許如下:

orderFrom = Ext.ComponentQuery.query("[name=order_from]",orderListTbar);