Results 1 to 2 of 2

Thread: [4.1 RC2] Cannot use 'length' as field name in form

    Looks like we can't reproduce the issue or there's a problem in the test case provided.
  1. #1
    Sencha Premium Member
    Join Date
    Jan 2008
    Posts
    115
    Vote Rating
    28
      0  

    Default [4.1 RC2] Cannot use 'length' as field name in form

    REQUIRED INFORMATION


    Ext version tested:
    • Ext 4.1 rev RC2


    Browser versions tested against:
    • IE8
    • FF11 (firebug 1.9)
    • Safari 5


    DOCTYPE tested against:
    • Strict


    Description:
    • In my Model I have a field called 'length', Using this in a grid column is fine, but when binding to a form the whole form stays empty.


    Steps to reproduce the problem:
    • Have a Store with a field 'length'
    • Have a form with an input and dataIndex 'length'
    • Do a form.loadRecord() with a record from the store


    The result that was expected:
    • The form shows the data from the record


    The result that occurs instead:
    • The complete form is empty


    Test Case:
    Modified the form-grid Example:

    Code:
    Ext.require([
        'Ext.form.*',
        'Ext.data.*',
        'Ext.grid.Panel',
        'Ext.layout.container.Column'
    ]);
    
    
    Ext.onReady(function(){
    
        Ext.QuickTips.init();
    
        var bd = Ext.getBody();
    
        // sample static data for the store
        var myData = [
            ['3m Co',                               71.72, 0.02,  0.03,  '9/1 12:00am'],
            ['Alcoa Inc',                           29.01, 0.42,  1.47,  '9/1 12:00am'],
            ['Altria Group Inc',                    83.81, 0.28,  0.34,  '9/1 12:00am'],
            ['American Express Company',            52.55, 0.01,  0.02,  '9/1 12:00am'],
            ['American International Group, Inc.',  64.13, 0.31,  0.49,  '9/1 12:00am'],
            ['AT&T Inc.',                           31.61, -0.48, -1.54, '9/1 12:00am'],
            ['Boeing Co.',                          75.43, 0.53,  0.71,  '9/1 12:00am'],
            ['Caterpillar Inc.',                    67.27, 0.92,  1.39,  '9/1 12:00am'],
            ['Citigroup, Inc.',                     49.37, 0.02,  0.04,  '9/1 12:00am'],
            ['E.I. du Pont de Nemours and Company', 40.48, 0.51,  1.28,  '9/1 12:00am'],
            ['Exxon Mobil Corp',                    68.1,  -0.43, -0.64, '9/1 12:00am'],
            ['General Electric Company',            34.14, -0.08, -0.23, '9/1 12:00am'],
            ['General Motors Corporation',          30.27, 1.09,  3.74,  '9/1 12:00am'],
            ['Hewlett-Packard Co.',                 36.53, -0.03, -0.08, '9/1 12:00am'],
            ['Honeywell Intl Inc',                  38.77, 0.05,  0.13,  '9/1 12:00am'],
            ['Intel Corporation',                   19.88, 0.31,  1.58,  '9/1 12:00am'],
            ['International Business Machines',     81.41, 0.44,  0.54,  '9/1 12:00am'],
            ['Johnson & Johnson',                   64.72, 0.06,  0.09,  '9/1 12:00am'],
            ['JP Morgan & Chase & Co',              45.73, 0.07,  0.15,  '9/1 12:00am'],
            ['McDonald\'s Corporation',             36.76, 0.86,  2.40,  '9/1 12:00am'],
            ['Merck & Co., Inc.',                   40.96, 0.41,  1.01,  '9/1 12:00am'],
            ['Microsoft Corporation',               25.84, 0.14,  0.54,  '9/1 12:00am'],
            ['Pfizer Inc',                          27.96, 0.4,   1.45,  '9/1 12:00am'],
            ['The Coca-Cola Company',               45.07, 0.26,  0.58,  '9/1 12:00am'],
            ['The Home Depot, Inc.',                34.64, 0.35,  1.02,  '9/1 12:00am'],
            ['The Procter & Gamble Company',        61.91, 0.01,  0.02,  '9/1 12:00am'],
            ['United Technologies Corporation',     63.26, 0.55,  0.88,  '9/1 12:00am'],
            ['Verizon Communications',              35.57, 0.39,  1.11,  '9/1 12:00am'],
            ['Wal-Mart Stores, Inc.',               45.45, 0.73,  1.63,  '9/1 12:00am']
        ];
    
        var ds = Ext.create('Ext.data.ArrayStore', {
            fields: [
                {name: 'company'},
                {name: 'length',      type: 'float'}
            ],
            data: myData
        });
    
    
        bd.createChild({tag: 'h2', html: 'Using a Grid with a Form'});
    
        /*
         * Here is where we create the Form
         */
        var gridForm = Ext.create('Ext.form.Panel', {
            id: 'company-form',
            frame: true,
            title: 'Company data',
            bodyPadding: 5,
            width: 750,
            layout: 'column',    // Specifies that the items will now be arranged in columns
    
            fieldDefaults: {
                labelAlign: 'left',
                msgTarget: 'side'
            },
    
            items: [{
                columnWidth: 0.60,
                xtype: 'gridpanel',
                store: ds,
                height: 400,
                title:'Company Data',
    
                columns: [
                    {
                        id       :'company',
                        text   : 'Company',
                        flex: 1,
                        sortable : true,
                        dataIndex: 'company'
                    },
                    {
                        text   : 'Changed to length',
                        width    : 120,
                        sortable : true,
                        dataIndex: 'length'
                    }
                ],
    
                listeners: {
                    selectionchange: function(model, records) {
                        if (records[0]) {
                            this.up('form').getForm().loadRecord(records[0]);
                        }
                    }
                }
            }, {
                columnWidth: 0.4,
                margin: '0 0 0 10',
                xtype: 'fieldset',
                title:'Company details',
                defaults: {
                    width: 240,
                    labelWidth: 90
                },
                defaultType: 'textfield',
                items: [{
                    fieldLabel: 'Name',
                    name: 'company'
                },{
                    fieldLabel: 'Changed to length',
                    name: 'length'
                }]
            }],
            renderTo: bd
        });
    
    
        gridForm.child('gridpanel').getSelectionModel().select(0);
    });


    HELPFUL INFORMATION


    Screenshot or Video:
    • attached



    Debugging already done:
    There is absolutly no firebug console output in my case.

    Possible fix:
    • not provided


    Additional CSS used:
    • only default ext-all.css


    Operating System:
    • Windows 7
    Attached Images Attached Images

  2. #2
    Sencha - Sr Software Engineer mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    39,318
    Vote Rating
    1293
      0  
    Mitchell Simoens @LikelyMitch
    Sencha Inc, Senior Software Engineer
    ________________
    Learn BBCode and use it!

    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •