передача aray из одного всплывающего окна в другое

Добрый день, есть такая задачка, написал компонент но нужно что бы я мог заполнить форму в 1-м всплывающем окне нажал сохранить и открылось второе всплывающиго окно которое бы имело переменные с первого окна, и по заполнению второго окна информация с обоих окон отправлялась кнопкой отправить,
каждое окно описанное в отдельном js файле, которые подтягиваются в общий php файл
сейчас не передаются значения с первого окна во второе.
Mykhajlo Tsymbala
09 июля 2013, 14:15
modx.pro
1 267
0

Комментарии: 11

Mykhajlo Tsymbala
09 июля 2013, 18:52
0
как вариант, может кто знает как реализовать, следующую задачу:
к примеру заходим в пакет артикля и видем список созданных новостей выделяем чек боксами нужных новости и по нажатии на кнопку открывается список выбранных новостей в всплывающем окне.
    Sadykh Sadykhov
    10 июля 2013, 10:30
    0
    Использовать php сессии?
      Mykhajlo Tsymbala
      10 июля 2013, 10:50
      0
      а детальней можно?
        Sadykh Sadykhov
        10 июля 2013, 11:17
        0
        Когда нажимаем «сохранить» в первом окошке, отправляем post запрос в php файл, где сохраняем данное значение из post в сессию. Затем, во втором окошке выводим переменные из суперглобального массива в нашу форму, выводим переменные из суперглобального массива в нашу форму. Это если на уровне php делать. Не силён, к сожалению :)
      Иван Брежнев
      10 июля 2013, 12:26
      0
      Если проверка введенных значение не играет большую роль когда передаете из 1-го окна во 2-ое то можно по нажатии кнопки «Сохранить» записывать значения всех полей 1-го окна в браузере в JSON. Т.е. как пример

      var someObject = {
         modal_1: {},
         modal_2: {}
      };
      $('#modal_1').on('click', '#save_1', function(event) {
      	var data = someObject.modal_1,
      		form_data = $('#modal_1').find('form').first().serializeArray();
      
      	for (var i = form_data.length - 1; i >= 0; i--) {
      		data[form_data[i].name] = form_data[i].value;
      	};
      
      })
      После нажатия кнопки сохранить данные первого окна будут содержаться в someObject.modal_1
      В someObject.modal_2 сохраните (либо сразу отправите) данные со второго окна и потом отправите на сервер.
        Maxym Zymbala
        10 июля 2013, 13:58
        0
        подскажите пожалуйста, как подтянуть переданные значения во второе окно?
          Иван Брежнев
          10 июля 2013, 14:45
          0
          Скачайте этот плугин и подключите на странице
          www.keyframesandcode.com/resources/javascript/jQuery/demos/populate-demo.html
          Далее повесьте на событие открытия второго окна, как пример (такое событие в Twitter Bootstrap)
          $('#modal_2').on('shown', function() {
          	$(this).find('form').first().populate(someObject.modal_1);
          });
          Можно пойти и более сложным путем, но я вам написал как проще именно для вас!
          Maxym Zymbala
          10 июля 2013, 16:09
          0
          пишу компонент для MODx revo
          для визуализации в админке используется ExtJs
          решил воспользоваться Вашим советом, но если код написать непосредственно в файле, то первое окно не отображается
          а если поместить его в функцию то отображается, но тогда это ж локальные переменные получаются?
            Иван Брежнев
            10 июля 2013, 16:19
            0
            Это для фронта я писал топикстартеру как вариант!

            Для ExtJS совершенно иначе всё делается.

            var w = MODx.load({});
            w.setValues(data);
            Но это очень утрированно.
              Иван Брежнев
              10 июля 2013, 16:22
              0
              Вот пример их минишопа первого
              Начало метода редактирования товара, открывается окошко и заполняется данными из AJAX запроса к коннектору который в свою очередь исполняет указанный процессор
              github.com/bezumkin/miniShop/blob/master/assets/components/minishop/js/mgr/widgets/goods.grid.js#L137
              Вот этот метод и заполняет окно данными
              github.com/bezumkin/miniShop/blob/master/assets/components/minishop/js/mgr/widgets/goods.grid.js#L179
                Maxym Zymbala
                10 июля 2013, 16:38
                0
                а подскажите еще как, быть с тем что у меня глобальных переменных не чувствует?
                если код написать непосредственно в файле, то первое окно не отображается
                var w = MODx.load({});
                w.setValues(data);

                а если поместить его в функцию то отображается, но тогда это ж локальные переменные получаются?
                asd: function () {
                var w = MODx.load({});
                w.setValues(data);
                }
                ???
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          11