PDA

View Full Version : How to serialize form to json



Leandro Silveira Prado
9 Nov 2011, 3:14 PM
Hi,


I have a form below (ext 3.2.1)



//Criamos o formulário
var formulario = new Ext.form.FormPanel({
id: 'MyForm',
name: 'MyForm',
//Tiramos a borda azul
border: false,
// deixa o form azul
frame: true,
//Definimos a largura dos labels
labelWidth: 70,
items: [{
//Tipo do campo
xtype: 'textfield',
//Nome a ser enviado pro server e para ser carregado do store
name: 'Id',
//Id para recuperar o campo
id: 'txtId',
//Largura do campo
width: 30,
// campo invisivel
hidden: true
}, {
xtype: 'textfield',
name: 'Nome',
id: 'txtNome',
//Nome visível ao usuário
fieldLabel: 'Nome',
width: 300,
//Năo permite campo em branco
allowBlank: false
}, {
xtype: 'textfield',
name: 'Cor',
id: 'txtCor',
fieldLabel: 'Cor',
width: 100,
allowBlank: false
}, {
xtype: 'textfield',
name: 'Valor',
id: 'txtValor',
fieldLabel: 'Valor',
width: 50,
allowBlank: false
}, {
xtype: 'textfield',
name: 'QtdePortas',
id: 'txtQtdePortas',
fieldLabel: 'Qtde Portas',
width: 50,
allowBlank: false
}, {
xtype: 'combo',
hiddenName: 'Modelo',
name: 'cmbModelo',
id: 'cmbModelo',
fieldLabel: 'Modelo',
width: 150,
//allowBlank: false,
col: true,
//Store de onde o combo pegara sua lista de dados
store: dsModelo,
//Campo que será usado como valor
valueField: 'Id',
//Campo que será mostrado na lista
displayField: 'Nome',
//necessário para o combo buscar os dados do store
triggerAction: 'all',
emptyText: 'Selecione...'
}, {
xtype: 'combo',
hiddenName: 'TipoCombustivel',
id: 'cmbCombustivel',
name: 'cmbCombustivel',
fieldLabel: 'Combustivel',
width: 150,
//allowBlank: false,
col: true,
//Store de onde o combo pegara sua lista de dados
store: dsCombustivel,
//Campo que será usado como valor
valueField: 'Id',
//Campo que será mostrado na lista
displayField: 'Nome',
//necessário para o combo buscar os dados do store
triggerAction: 'all',
emptyText: 'Selecione...'
}]
});


to retrieve the values ??I'm doing well



var ret1 = Ext.Ajax.serializeForm(formulario);


but do not return values, how to retrieve the values ??of the fields and serialize to json

mitchellsimoens
10 Nov 2011, 4:59 AM
To get the values, you have to use getValues on the BasicForm, not the FormPanel like this:


var values = form.getForm().getValues();

This will return an Object with the field name as the key and it's value as the value.