2016-07-20 4 views
0

Ich frage mich, wie bekomme ich den Eingabewert aus dem Formular in ExtJS. Ich habe mehrere Wege versucht "Kommentare zu sehen", aber keiner von ihnen gab mir einen Wert, ich bekomme meistens einen Fehler - "undefined".Wie bekomme ich einen Eingabewert auf ExtJS 6.0

Eine weitere Sache, die unklar ist, ist wo ist der Formularname definiert?

Hier ist mein Code:

Ext.onReady(function() { 

Ext.create('Ext.form.Panel', { 
    renderTo: document.body, 
    title: 'Convert Roman characters to Arabic', 
    height: 150, 
    width: 300, 
    bodyPadding: 10, 
    defaultType: 'textfield', 
    items: [ 
     { 
      fieldLabel: 'Enter Roman Character', 
      name: 'char' 
     } 
    ], 
    buttons: [ 
     { 
      text: 'Submit', 
      handler: function() { 
      //var form = formPanel.getForm(); 
      //var value = form.findField('char'); 
      //var form = this.up('form'); // get the form panel 
      //var value = Ext.getCmp('char').getValue(); 
      // var field = Ext.getCmp('char'); 
       Ext.Msg.alert('Success', "value"); 

      } 
     } 
    ] 
}); 
}); 

Am Ende der Anwendung des inputed Wert alarmieren soll.

Vielen Dank im Voraus.

Antwort

0
 text: 'Submit', 
     handler: function(btn) { 
      Ext.Msg.alert('Success',btn.up('form').down('[name=char]').getValue()); 
+0

Das funktionierte, danke. Was macht rauf und runter? – Giedrius

0
 //var form = formPanel.getForm(); 
     //var value = form.findField('char'); 
     //var form = this.up('form'); // get the form panel 
     //var value = Ext.getCmp('char').getValue(); 
     // var field = Ext.getCmp('char'); 
There are multi ways to get value of char field. 

1) To get value like this as you used, you have to give id property for this field : 
    { 
     fieldLabel: 'Enter Roman Character', 
     name: 'char', 
     id : 'char' // or give any name 
    } 
now used below code to get value 
var field = Ext.getCmp('char'); 
var value = field.getValue(); 

2) You can also use itemId property same : 
    { 
     fieldLabel: 'Enter Roman Character', 
     name: 'char', 
     itemId : 'char' // or give any name 
    } 
now used below code to get value 
var field = Ext.ComponentQuery.query('#char')[0]; 
var value = field.getValue(); 

3) another way, you can get value from form values; 
    var form = this.up('form'), 
    formValues = form.getForm().getValues(); 
    charValue = formValues.char; 
Verwandte Themen