2013-03-11 17 views
0

У меня есть шаблон формы, который содержит около 30 видов форм. Каждый раз выбирается и подаётся только одна форма. Количество элементов в форме варьируется, но около 80 или даже больше.extjs форму отправить дизайн модели

У меня есть требования 2 для этого:

  1. Форма представить должен быть в состоянии кэшируются в LocalStorage и resumit на сервер позже, когда сеть восстановления. Как я могу настойчивые формы?
  2. Я не хочу ставить модель в extjs, потому что модель будет построена на истинном бэкэнд. И бэкэнд построит его на основе комбинации пользовательских выборов и входов. Не уверен, что это имеет смысл или нет. Единственное, что я могу придумать, это установить inputId по некоторым правилам и сделать сопоставление на бэкэнд.

Любое предложение?

ответ

0

Не могли бы вы передать данные базовой формы в локальный объект (массив?) Перед отправкой и использовать $ .ajax (..., data: myDataObject) для отправки данных на бэкэнд вместо формы? Таким образом, вы должны кэшировать данные, можете повторно заполнить форму или повторно отправить по мере необходимости на основе ответа.

Я не использовал ExtJS (выглядит красиво, хотя), но я думаю, что-то вроде этого:

function submitter() { 
    var myData = new Object(); //maybe make an array/object to store each form dataset separately? 
    //pseudo: 
    for each form element { 
     myData.push(item = value); 
    } 
    $.ajax({ 
     'dataType': 'json', 
     'type': 'GET', 
     'url': sSource, 
     'data': myData, 
     'success': [fnCallback, fnMy2ndCallback] //single or array of callbacks. 
    }); 
    function fnCallback(response) { 
     //check for failure, or success and proceed accordingly. 
    } 

Дон есть великий день

+0

У вас есть пример? – user650749

+0

Наконец, я использую form.getValues ​​() для извлечения всех грязных полей и их сохранения. – user650749

+0

рад, что я мог помочь. и form.getValues ​​(), чтобы пройти через значения и сохранить их звуки хорошо. Вы сохраняли каждую форму отдельно? – IsDonIsGood

Смежные вопросы