Come serializzare il modulo all'interno della finestra modale in ExtJS?

StackOverflow https://stackoverflow.com/questions/1616275

  •  06-07-2019
  •  | 
  •  

Domanda

Sto cercando di costruire finestre modali al volo da un singolo oggetto javascript passato dal server. Ma non ho idea di come posso serializzare il modulo all'interno della finestra modale senza definire la variabile del modulo. Nella maggior parte degli esempi il processo di serializzazione è simile al seguente:

//create form
var CustomForm = new Ext.FormPanel({...});
//submiting form
CustomForm.getForm().submit({...});

Nel mio caso tutti i componenti interni come " form " vengono creati dal valore xtype e non viene assegnata alcuna variabile. Esiste un modo per selezionare e serializzare i moduli usando qualcosa del genere:

Ext.get(this).select('form').serialize();

o qual è il modo appropriato di farlo?

È stato utile?

Soluzione

Puoi assegnare al modulo un id e usare Ext.getCmp (formid).

Per recuperare i valori del modulo di un FormPanel utilizzare myFormPanel.getForm().getValues()

Questo tornerà con un oggetto js che rappresenta i campi del modulo.

Altri suggerimenti

Ho scritto una funzione per prendere valori da un modulo e generare una stringa da aggiungere alla stringa di query:

/**
 * takes an array of form values and converts them into a
 * query string
 * 
 * @param {object} Ext.form
 * @return {string} 
 */
this.serialize_form_values = function(form)
{
    var serial = '',
        values = form.getValues();

    for(var value in values)
        serial += '&' + value + '=' + values[value];

    return serial.substr(1);
};

Forse potrebbe essere utile per qualcuno?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top