передача aray из одного всплывающего окна в другое
Добрый день, есть такая задачка, написал компонент но нужно что бы я мог заполнить форму в 1-м всплывающем окне нажал сохранить и открылось второе всплывающиго окно которое бы имело переменные с первого окна, и по заполнению второго окна информация с обоих окон отправлялась кнопкой отправить,
каждое окно описанное в отдельном js файле, которые подтягиваются в общий php файл
сейчас не передаются значения с первого окна во второе.
каждое окно описанное в отдельном js файле, которые подтягиваются в общий php файл
сейчас не передаются значения с первого окна во второе.
Комментарии: 11
как вариант, может кто знает как реализовать, следующую задачу:
к примеру заходим в пакет артикля и видем список созданных новостей выделяем чек боксами нужных новости и по нажатии на кнопку открывается список выбранных новостей в всплывающем окне.
к примеру заходим в пакет артикля и видем список созданных новостей выделяем чек боксами нужных новости и по нажатии на кнопку открывается список выбранных новостей в всплывающем окне.
Использовать php сессии?
а детальней можно?
Когда нажимаем «сохранить» в первом окошке, отправляем post запрос в php файл, где сохраняем данное значение из post в сессию. Затем, во втором окошке выводим переменные из суперглобального массива в нашу форму, выводим переменные из суперглобального массива в нашу форму. Это если на уровне php делать. Не силён, к сожалению :)
Если проверка введенных значение не играет большую роль когда передаете из 1-го окна во 2-ое то можно по нажатии кнопки «Сохранить» записывать значения всех полей 1-го окна в браузере в JSON. Т.е. как пример
В someObject.modal_2 сохраните (либо сразу отправите) данные со второго окна и потом отправите на сервер.
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 сохраните (либо сразу отправите) данные со второго окна и потом отправите на сервер.
подскажите пожалуйста, как подтянуть переданные значения во второе окно?
Скачайте этот плугин и подключите на странице
www.keyframesandcode.com/resources/javascript/jQuery/demos/populate-demo.html
Далее повесьте на событие открытия второго окна, как пример (такое событие в Twitter Bootstrap)
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);
});
Можно пойти и более сложным путем, но я вам написал как проще именно для вас!
пишу компонент для MODx revo
для визуализации в админке используется ExtJs
решил воспользоваться Вашим советом, но если код написать непосредственно в файле, то первое окно не отображается
а если поместить его в функцию то отображается, но тогда это ж локальные переменные получаются?
для визуализации в админке используется ExtJs
решил воспользоваться Вашим советом, но если код написать непосредственно в файле, то первое окно не отображается
а если поместить его в функцию то отображается, но тогда это ж локальные переменные получаются?
Это для фронта я писал топикстартеру как вариант!
Для ExtJS совершенно иначе всё делается.
Для ExtJS совершенно иначе всё делается.
var w = MODx.load({});
w.setValues(data);
Но это очень утрированно.
Вот пример их минишопа первого
Начало метода редактирования товара, открывается окошко и заполняется данными из 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
Начало метода редактирования товара, открывается окошко и заполняется данными из 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
а подскажите еще как, быть с тем что у меня глобальных переменных не чувствует?
если код написать непосредственно в файле, то первое окно не отображается
var w = MODx.load({});
w.setValues(data);
а если поместить его в функцию то отображается, но тогда это ж локальные переменные получаются?
asd: function () {
var w = MODx.load({});
w.setValues(data);
}
???
если код написать непосредственно в файле, то первое окно не отображается
var w = MODx.load({});
w.setValues(data);
а если поместить его в функцию то отображается, но тогда это ж локальные переменные получаются?
asd: function () {
var w = MODx.load({});
w.setValues(data);
}
???
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.