Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.01.2017, 17:10
Интересующийся
Отправить личное сообщение для Vipz Посмотреть профиль Найти все сообщения от Vipz
 
Регистрация: 19.01.2016
Сообщений: 12

Обработка формы | Как быть ?
Помогите собрать форму , не понимаю что сделать на стороне jquery , а что на php.

Форма пример , только щас накатал , но принцип тот же:

Все с помощью Ajax (не нужны перезагрузки страницы и переходы на другие)

<form id="formachka">
<select name="komplekt">
<option value="odin">Один 1000</option>
<option value="dva">Два 2000</option>
<option value="tri">Три 3000</option>
</select>

<select name="dostavka">
<option value="segodnya">Сегодня +100</option>
<option value="zavtra">Завтра +200</option>
<option value="poslezavtra">Послезавтра +300</option>
</select>

<select name="oplata">
<option selected="selected" value="nal">Наличные</option>
<option value="karti">Карты</option>
<option value="yandex">Яндекс</option>
<option value="qiwi">Qiwi</option>
</select>

<input type="hidden" name="summa" value="">

<input type="button" id="otpravka" value="Отправить" />


</form>


Цель:
1. Суммировать komplekt + dostavka и поместить в скрытое поле summa

2. Несколько условий после нажатия на "Отправить":
2.1 Если в oplata "nal" отправить все на почту и высветить юзеру табличку что все гуд.
2.2 Если в oplata "karti" то собрать скрытую для юзера форму на основе ранее собранных данных ,но отправить её методом POST по ссылке , при этом дать понять что через 5 секунд юзер будут перенаправлен.

Как это все реализовать ?

Если я правильно понимаю , то все это нужно отправить с помощью AJAX методом POST в обработчик например pbrabotka.php
Там суммировать komplekt + dostavka и поместить в summa
Проверить что было в dostavka и отправить либо на почту , либо выдать необходимые данные. А вот как их выдать ?

Последний раз редактировалось Vipz, 12.01.2017 в 17:56.
Ответить с цитированием
  #2 (permalink)  
Старый 12.01.2017, 17:31
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Считать можно и на клиенте, а сервер должен проверять не туфту ли ему суют, и отправлять почту.
Ответить с цитированием
  #3 (permalink)  
Старый 12.01.2017, 17:35
Интересующийся
Отправить личное сообщение для Vipz Посмотреть профиль Найти все сообщения от Vipz
 
Регистрация: 19.01.2016
Сообщений: 12

Может кто накидает скилет под эту форму ?
Ответить с цитированием
  #4 (permalink)  
Старый 12.01.2017, 17:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Скелеты в шкафу, и какой нужен?

Сообщение от Vipz
только щас накатал
И с чего накатано, с потолка? Вот вам задача - в вашей квартире проживает 5 человек и вы не знаете их имен. Звонок в дверь - повестка в армию для Коли. Это правда или ложь?

Вот тоже самое и ваша "накатанная форма". Думайте.
Ответить с цитированием
  #5 (permalink)  
Старый 12.01.2017, 17:53
Интересующийся
Отправить личное сообщение для Vipz Посмотреть профиль Найти все сообщения от Vipz
 
Регистрация: 19.01.2016
Сообщений: 12

Сообщение от laimas Посмотреть сообщение
Скелеты в шкафу, и какой нужен?



И с чего накатано, с потолка? Вот вам задача - в вашей квартире проживает 5 человек и вы не знаете их имен. Звонок в дверь - повестка в армию для Коли. Это правда или ложь?

Вот тоже самое и ваша "накатанная форма". Думайте.
Что за агрессия кругом
Я написал простенькую форму специально для того чтобы было запросто разобрать любому.

Если бы я скопировал свою с 10+ пунктами , несколькими шагами и по много select-ов , то это была бы беда и для понимания и ковыряния.

Есть конкретный пример > нужно конкретное решение , вот все...

Последний раз редактировалось Vipz, 12.01.2017 в 17:57.
Ответить с цитированием
  #6 (permalink)  
Старый 12.01.2017, 18:02
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Vipz
Что за агрессия кругом
Это не агрессия. Вы смогли дать ответ на мою задачу? Сможет ли ваш сервер определить что ему прислал клиент или нет? Если вы накидали какую-то форму, то вряд ли. А вот если сервер оперирует данными, то он сможет определить что ему действительно пришел выбор в его данных, он может просчитать выбор (расчеты на клиенте только для клиента), и отправить почту с заказом. Но в этом случае форма "не накидывается", а сервер выдает ее html код основанный на данных.

Ajax же или без него будет обмен с клиентом, это уже вопрос десятый.

Вот только так. Но если вы хотите работать со скелетами в шкафу, получать от клиента мусор, который будет вам отправлен почтой, тогда да, мои комментарии не нужны.
Ответить с цитированием
  #7 (permalink)  
Старый 12.01.2017, 18:25
Интересующийся
Отправить личное сообщение для Vipz Посмотреть профиль Найти все сообщения от Vipz
 
Регистрация: 19.01.2016
Сообщений: 12

я и мой сервер подстроимся под решение этой задачи.
Ответить с цитированием
  #8 (permalink)  
Старый 12.01.2017, 18:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Vipz
я и мой сервер подстроимся под решение этой задачи
Сервер не подстраиваться должен, а задавать. Вы же какие вопросы ставите, перечитайте их. Основная задача как раз ляжет на сервер, а у вас даже представления нет, что есть сервер.
Ответить с цитированием
  #9 (permalink)  
Старый 12.01.2017, 19:59
Интересующийся
Отправить личное сообщение для Vipz Посмотреть профиль Найти все сообщения от Vipz
 
Регистрация: 19.01.2016
Сообщений: 12

уважаемый...
Я написал конкретную форму !
Если бы вы накидали скилет (пример) решения
я бы подстроился в своем обработчике под него...
мне тупо нужен живой пример , не более того , остальное все подстраивается без проблем
Ответить с цитированием
  #10 (permalink)  
Старый 12.01.2017, 20:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Последний раз:
1) чтобы считать на клиенте, ему нужно передать данные в удобном формате, у вас такого нет ибо ваша форма от фонаря;
2) чтобы там не считал клиент, сервер обязательно должен все проверять, на чем это должно основываться в вашем случае только богу известно;
3) по причине п. 2, процесс обмена данными клиента с сервером (отправка формы) подразумевает диалог, на чем его основывать не известно.

И чего вам надо?

Есть несколько подходов, либо данные, которые надо просчитывать, отдают клиенту в виде объекта, любо их прописывают в атрибутах элементов, либо можно отправить и на сервер запрос, а там просчитать.

Вы накапали типа Сегодня +100, и считаете это нормальным, все равно скажут как парсить текст в поисках цифр?

Думайте над представлением своих данных как на сервере так и на клиенте, тогда и форма будет удобна для клиентского сценария, и код ее обслуживающий подобающий.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с элементами формы как с хеш таблицей NG2016 Элементы интерфейса 2 02.09.2016 00:00
Как отправить содержимое div из формы на почту? srnsdlmtn AJAX и COMET 1 13.12.2015 11:31
Отправка данных формы. Как выглядит структура метода с AJAX (по JQuery)? Coriolan161 AJAX и COMET 5 24.11.2015 20:17
Как добавить код яндекс.метрики в обработчик формы? jscooker Events/DOM/Window 1 06.12.2014 11:41
Имитация POST формы с данными пользователя (КАК?) wmag Общие вопросы Javascript 8 03.11.2013 01:51