Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Как сохранить данные из формы? (https://javascript.ru/forum/extjs/28750-kak-sokhranit-dannye-iz-formy.html)

Alex Danilov 01.06.2012 12:47

Как сохранить данные из формы?
 
Добрый день, уважаемые девелоперы.

Есть форма с полями. Никак не удается добиться сохранения данных из этой формы.

var me = this;
    	
    	var currenciesStore = Ext.create('TourOffice.modules.currencies').getStore();
    	
    	var editForm = new Ext.FormPanel({
            labelWidth: 60,
            frame:true,
            items:[{
            		size: 40,
                    name: 'name',
                    xtype:'textfield',
                    fieldLabel:'Название счета'
                },{
                    layout: 'column',
                    defaults: {
                        columnWidth: 0.5,
                        border: false,
                        bodyStyle: 'padding:0 18px 0 0'
                    },
                    items:[{
                            defaults: {anchor:'100%'},
                            items:[
                                {
                                    name: 'bank_name',
                                    xtype:'textfield',
                                    fieldLabel:'Банк'
                                },{
                                    name: 'number',
                                    xtype:'textfield',
                                    fieldLabel:'Номер счета'
                                },{
                                    name: 'ocntact_person',
                                    xtype:'textfield',
                                    fieldLabel:'Контакт лицо'
                                }
                            ]
                        },{
                            defaults:{anchor:'100%'},
                            items:[
                                {
                                    name: 'bank_code',
                                    xtype:'textfield',
                                    fieldLabel:'Код банка'
                                },{
                                    xtype:'combo',
                                    fieldLabel:'Валюта',
                                    queryMode: 'local',
                                    valueField: 'id',
                   					displayField: 'name',
                                    store: currenciesStore
                                },{
                                    name: 'ocntact_phone',
                                    xtype:'textfield',
                                    fieldLabel:'Контакт телефон'
                                }
                            ]
                        }]
                },{
                    cols: 40,
                    name: 'comment',
                    xtype:'textarea',
                    fieldLabel:'Комментарий'
                }],
            buttons: [
                {
                    text: 'Сохранить',
                    handler: function() {
                    	var form = this.up('form').getForm();
                        if (form.isValid()) {
                        	console.log(form.getValues());
                        	var record = form.getRecord();
                        	console.log(record);
                            var values = form.getValues();
                            record.setValues(values);
                            record.save();
                            /*
                            if (item) {
                            	me.store.update(form.getValues());
                            } else {
                            	me.store.add(form.getValues());
                            }
                            */
                        }
                        this.up('window').hide();
                    }
                },{
                    text: 'Отмена',
                    handler: function() {
                        this.up('form').getForm().reset();
                        this.up('window').hide();
                    }
                }
            ]
        });


К тому же еще вопрос, если данные уже есть и они редактируются, как передавать поле ID записи?

potkin 10.06.2012 00:53

buttons: [{
text: 'Сохранить',
handler:
 function () {
  editForm.submit({
   waitMsg: 'Loading...',
   url: "адресс странички",
   success: function (form, action) { },
   failure: function (form, action) { }
  });
}]

"адресс странички", - туда ID-шники и передадутся, например КомбоБоксов, а от текстовых полей - текст, ...


Часовой пояс GMT +3, время: 16:50.