Home > DeveloperSection > Forums > How to get data from fieldset in Sencha Touch 2?
Brad Pitt
Brad Pitt

Total Post:61

Points:429
Posted on    May-31-2013 1:57 AM

 Sencha Touch Sencha Touch 
Ratings:


 1 Reply(s)
 2728  View(s)
Rate this:
Hi Expert!

I hava a fieldset in Sencha Touch 2 as follows:
{
                    id:'contactForm',
                    xtype: 'fieldset',
                    title: 'Information',
                    items: [
                        {
                            xtype: 'textfield',
                            label: 'First Name',
                            placeHolder: 'Your First Name',
                            name:'firstName',
                            id:'firstName',
                        },
                        {
                            xtype: 'textfield',
                            label: 'Last Name',
                            placeHolder: 'Your Last Name',
                            name:'lastName'
                        },
                        {
                            xtype: 'emailfield',
                            label: 'Email',
                            placeHolder: 'email@example.com'
                        },
                        {
                            xtype: 'button',
                            height: 37,
                            style: 'margin-left:35%',
                            width: 100,
                            iconAlign: 'center',
                            text: 'Submit',
                            action:'ContactSubmit'                        
                        },
                        {
                            xtype: 'hiddenfield',
                            id: 'HNumberOfBedRoom',
                            value:'2'
                        },
                        {
                            xtype: 'hiddenfield',
                            id: 'HPetFriendlyId',
                            value:'2'
                        }                
                ]
}

In my controller, I have the following:
refs: { contactForm: '#contactForm' }

I can retrive the value by using

var frmItems=this.getContactForm().getItems();
console.log(frmItems.items[1]._value);

This works fine but i want to retrieve the values something like

frm.get('name/id of component')

Is there any way to achieve this?

Thanks in advance! 



AVADHESH PATEL

Total Post:604

Points:4228
Posted on    June-01-2013 12:56 AM

Hi Everyone!

Use a Ext.form.Panel as your primary container.

example snippet

Ext.define('App.view.ContactForm',
{
  extend : 'Ext.form.Panel',
  xtype : 'contactform',
  id : 'contactForm',
  config : {
    items : [
      { 
        xtype : 'fieldset',
        items : [
           {
             {
                xtype: 'textfield',
                label: 'First Name',
                placeHolder: 'Your First Name',
                name:'firstName',
             },
         ]
       }
});
in your controller

refs : { contactForm : '#contactForm' }

then in your function you can either do

this.getContactForm().getValues().firstName
(uses the name value of the field)

or

var vals = this.getContactForm().getValues();
vals.firstName;
Avoid using Ext.getCmp() or a flat Ext.get() at the top level if you absolutely can help it. If you're building custom controls you might have to make use of those, 

otherwise you're making things too hard on yourself.

Don't want to miss updates? Please click the below button!

Follow MindStick