2017-02-11 24 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

是的,但这会拉动组件,但请记住我们有这么多访问组件和值。 –

相关问题