2017-02-11 136 views
1

我寫了一個HTML頁面,可以顯示頁面。但是當我嘗試獲取頁面中元素的值時,會發生錯誤。在JavaScript函數中,我想使用Ext.fly("loginname").getValue()document.getElementByName('loginname')來獲取來自用戶的輸入。如何通過ExtJs獲取HTML元素值?

在Chrome中,Ext.fly('loginname')null

我有什麼問題?感謝大家。

HTML頁面LOGINNAME的代碼如下

items: [ 
    { 
     columnWidth: .33, 
     layout: 'form', 
     items: [ 
      { 
       xtype: 'textfield', 
       fieldLabel: '<font color="red">*</font>User Login', 
       allowBlank: false, 
       width: 180, 
       name: 'loginname', 
       enableKeyEvents: true, 
       msgTarget: 'under', 
       listeners: { 
        blur: function() { 
         changeValue(); 
        } 
       } 
      } 
     ] 

分機網頁: image

+1

您沒有正確使用選擇器。如果你在表單中有字段,你可以使用'form.getValues()。loginname'首先選擇表單組件。 – qmateub

+0

謝謝。你是對的。我發現getElementsByName()中的錯誤,應該添加數組「[0]」。 – gavin

回答

2

Ext JS的工作完全不同的你想象的。在Ext js中,我們大多不關心元素,關於組件和訪問組件的所有方面都有不同的方式。到目前爲止,看到你的代碼,我可以給你一個解決方案,它可以正常工作,但根據Ext js的編碼標準是不可接受的。

Ext.ComponentQuery.query('textfield[name=loginname]')[0].getValue(); 
+0

感謝您的回覆。它看起來像document.getElementsByName()[0]。 – gavin

+0

是的,但這會拉動組件,但請記住我們有這麼多訪問組件和值。 –

相關問題