Как сериализовать форму внутри модального окна в ExtJS?

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

  •  06-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь создать модальные окна "на лету" из одного объекта javascript, передаваемого сервером.Но я понятия не имею, как я могу сериализовать форму внутри модального окна без определения переменной формы.В большинстве примеров процесс сериализации выглядит следующим образом:

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

В моем случае все внутренние компоненты, такие как "form", создаются из значения xtype, и ему не присваивается никакая переменная.Есть ли какой-нибудь способ выбрать и сериализовать форму, используя что-то вроде этого:

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

или каков подходящий способ сделать это?

Это было полезно?

Решение

Вы можете присвоить форме идентификатор и использовать Ext.getCmp(formid).

Чтобы получить значения формы FormPanel, используйте myFormPanel.getForm().getValues()

Это приведет к появлению объекта js, представляющего поля формы.

Другие советы

Я написал функцию для получения значений из формы и генерации строки для добавления в строку запроса:

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

Может быть, это кому-нибудь пригодится?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top