2017-02-11 11 views
1

私は1つのHTMLページで、ページを表示することができます。しかし、ページの要素の値を取得しようとすると、エラーが発生します。 JavaScriptの機能では、Ext.fly("loginname").getValue()またはdocument.getElementByName('loginname')を使用して、ユーザーからの入力を取得します。ExtJsでHTML要素値を取得する方法は?

クロムでは、Ext.fly('loginname')nullです。

私には何が間違っていますか?みんな、ありがとう。

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のウェブページ以下のようにHTML LOGINNAMEページのコード: image

+1

セレクタを正しく使用していません。フォーム内にフィールドがある場合は、フォームコンポーネントを最初に選択する 'form.getValues()。loginname'を使用できます。 – qmateub

+0

ありがとうございます。あなたは正しいです。私はgetElementsByName()でエラーが見つかりました、配列 "[0]"を追加する必要があります。 – gavin

答えて

2

のExt JSの仕事と思う完全に異なる方法。 Ext jでは、ほとんどの場合、要素について気にする必要はありません。コンポーネントに関するすべてとコンポーネントへのアクセスには、さまざまな方法があります。現時点であなたのコードを見て、私はあなたにうまくいく解決策を与えることができますが、Ext jsのコーディング標準によれば受け入れられません。

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

お返事ありがとうございます。それはdocument.getElementsByName()[0]のようです。 – gavin

+0

これはコンポーネントをプルしますが、コンポーネントと値にアクセスするには非常に多くのことがあります。 –

関連する問題