2017-02-11 9 views
1

I wirte одна страница HTML с, страница может быть отображена. Но когда я пытаюсь получить значение элемента на странице, возникает ошибка. В JavaScript funtion я хочу использовать Ext.fly("loginname").getValue() или document.getElementByName('loginname'), чтобы получить вход от пользователя.Как получить значение элемента HTML в ExtJs?

В хром Ext.fly('loginname') является null.

Что случилось со мной? Всем спасибо.

код страницы LOGINNAME HTML, как показано ниже

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(); 
        } 
       } 
      } 
     ] 

веб-страницы Ext: 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

Да, но это будет тянуть компоненты, Но помните, что у нас так много для доступа к компонентам и значениям. –

Смежные вопросы