¿Cómo serializar el formulario dentro de la ventana modal en ExtJS?

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

  •  06-07-2019
  •  | 
  •  

Pregunta

Estoy intentando construir ventanas modales sobre la marcha a partir de un solo objeto javascript pasado por el servidor. Pero no tengo idea de cómo puedo serializar el formulario dentro de la ventana modal sin definir la variable de formulario. En la mayoría de los ejemplos, el proceso de serialización se ve así:

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

En mi caso, todos los componentes internos como " form " se crean a partir del valor xtype y no se le asigna ninguna variable. ¿Hay alguna forma de seleccionar y serializar el formulario usando algo como esto:

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

¿o cuál es la forma apropiada de hacerlo?

¿Fue útil?

Solución

Puede asignar una identificación al formulario y usar Ext.getCmp (formid).

Para recuperar los valores de formulario de un FormPanel use myFormPanel.getForm().getValues()

Eso volverá con un objeto js que representa los campos del formulario.

Otros consejos

Escribí una función para tomar valores de un formulario y generar una cadena para agregar a la cadena de consulta:

/**
 * 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);
};

¿Quizás podría ser útil para alguien?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top