|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.06.2018, 07:10 | #1 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Передать данные формы с одной страницы на другую
Всю голову сломал) не получается передать данные формы с помощью ajax.
index.php Код HTML:
<html lang="ru"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Тест</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('form').submit(function() { var form_data = $(this).serialize(); $.ajax({ type: "POST", url: "a.php", success: function() {alert(form_data);} }); }); }); </script> </head> <body> <div> <form> <input type="radio" id="radio1" name="pro[]" value="да"/> <label for="vide_a" name="vide_a"> Radio 1</label><br> <input type="radio" id="radio2" name="pro[]" value="нет" /> <label for="vide_b" name="vide_b"> Radio 2</label><br> <input type="radio" id="radio3" name="pro[]" value="тот"/> <label for="vide_c" name="vide_c"> Radio 3</label><br> <input id="svet_a" name="a[]" type="checkbox" value="но"> <button type="submit">Отправить заявку</button> <a href='a.php'>Отправить заявку</a> </form> </div> </body> </html> PHP код:
Код:
Код HTML:
<head> </head> <body> <form action="a.php" method="POST" > <input type="radio" id="radio1" name="pro[]" value="да"/> <label for="vide_a" name="vide_a"> Radio 1</label><br> <input type="radio" id="radio2" name="pro[]" value="нет" /> <label for="vide_b" name="vide_b"> Radio 2</label><br> <input type="radio" id="radio3" name="pro[]" value="тот"/> <label for="vide_c" name="vide_c"> Radio 3</label><br> <input id="svet_a" name="a[]" type="checkbox" value="но"> <button type="submit">Отправить заявку</button> <a href='a.php'>Отправить заявку</a> </form> </body>
Еду медленно, но верно!
Последний раз редактировалось spoon100500; 14.06.2018 в 09:23. |
14.06.2018, 14:58 | #2 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Переделал, получил данные в виде json.
index.php Код HTML:
<html lang="ru"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Тест</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('form').on('submit', function(e){ e.preventDefault(); var $that = $(this), fData = $that.serialize(); // сериализируем данные // ИЛИ // fData = $that.serializeArray(); $.ajax({ url: $that.attr('action'), // путь к обработчику берем из атрибута action type: $that.attr('method'), // метод передачи - берем из атрибута method data: {form_data: fData}, dataType: 'json', success: function(json){ // В случае успешного завершения запроса... if(json){ $('#f').replaceWith(json); // заменим форму данными, полученными в ответе. } } }); }); }); </script> </head> <body> <div> <form action="a.php" method="post"> <input type="radio" id="radio1" name="pro" value="да"/> <label for="vide_a" name="vide_a"> Radio 1</label><br> <input type="radio" id="radio2" name="pro" value="нет" /> <label for="vide_b" name="vide_b"> Radio 2</label><br> <input type="radio" id="radio3" name="pro" value="тот"/> <label for="vide_c" name="vide_c"> Radio 3</label><br> <input id="svet_a" name="a" type="checkbox" value="но"> <button type="submit">Отправить заявку</button> <a href='a.php'>Отправить заявку</a><br> <p id="f"></P> </form> </div> </body> </html> PHP код:
Еду медленно, но верно!
|
14.06.2018, 16:00 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
у меня встречный вопрос - куда Вы хотите сохранить данные?
кстати, рекомендую заменить Цитата:
Код:
|
|
14.06.2018, 16:18 | #4 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Сохранить например в файле a.php, он же обработчик, если такое логично.
Еду медленно, но верно!
|
14.06.2018, 16:19 | #5 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Еду медленно, но верно!
|
14.06.2018, 16:21 | #6 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Может вообще json не нужен, я уже не знаю))), запутался), каким методом лучше сохранять данные формы на другой странице без перезагрузки, типа, что то корзины.
Еду медленно, но верно!
|
14.06.2018, 16:56 | #7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
что выбранные элементы нужно где-то хранить. Лучше всего их хранить в БД. Пользователь авторизовался. Что-то выбрал, нажал "купить" - товар помещается в таблицу покупок. При открытии любой страницы идёт обращение к БД, оттуда читается количество товаров (сумма, список и т.п.) и выводится на страницу. Преимущество такого подхода - если Вы поместите товар в корзину на одном компьютере. Потом выключите его. включите другой компьютер (дома, например), залогинитесь, то там будет корзина с вашими товарами. иногда такие глобальные вещи не нужны. и нужно передавать данные из одной страницы в другую в рамках одного компьютера/одного сеанса работы. для этого есть много способов. можно передавать данные через URL, можно использовать сохранение информации в сессии или локальном хранилище (localstorage). про сессии можно почитать тут |
|
14.06.2018, 17:05 | #8 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Это простой метод post он работает но с переходом на страницу где сохранил данные т.е. перезагружает.
Можно пример передачи данных формы в переменную сессии или в сессию из json?
Еду медленно, но верно!
|
14.06.2018, 19:33 | #9 | |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
spoon100500 ты не обижайся конечно, видно что ты учишься и все такое, но голову включать то нужно все равно! естественно данные корзины нужно хранить в таблице. даже если это не юзер, по IP (хотя бывают предприятия и у них один внешний IP но думаю тебе еще рано думать об этом) + отметка времени и каждый раз проверять timestamp если записи устарели (скажем интервал 30 минут) удаляем их.
Цитата:
погуглить за тебя? https://api.jquery.com/serialize/ Код:
Код:
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
|
14.06.2018, 19:49 | #10 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
json разобрался.
Речь не про корзину, мне до корзины далеко, речь про передачи данные формы на другую страницу, но без перезагрузки т.е. человек натыкался чеков и радио нажал кнопку сохранить, эти данные сохранились на странице , например cart.php, на которую клиент переходит при нажатии кнопки "Посмотреть карту", ну а тут уже, если его все устроило, нажимает Сохранить и данные отправляются на почту и сохраняются в базу.
Еду медленно, но верно!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передать результат с одной страницы на другую | Вероника99 | PHP | 16 | 03.05.2016 00:03 |
Данные из одной формы в другую | Thez | Microsoft Office Excel | 7 | 08.04.2015 19:48 |
Как в VB передать данные с одной формы в другую | Vceznayka | Microsoft Office Excel | 1 | 26.12.2011 17:13 |
Как правильно передать несколько разнородных данных из одной формы в другую? | tumanovalex | C# (си шарп) | 2 | 21.05.2011 10:05 |
C#: Передать значение переменной из одной формы в другую | Veiron | Общие вопросы .NET | 3 | 29.06.2009 17:43 |