@GaserV

Как поэтапно собрать данные?

Добрый вечер! Подскажите. Вот у меня есть форма. После того, как юзер её заполнит, открывается pop-up, в котором необходимо выбрать подарок. И после нужно данные с формы + подарок как-то сериализовать. Как это сделать? Пробовал после того, как юзер выбрал подарок, при клике на подарок выполнить senddata(), в которой будет сериализована форма, в массив, а после, через push положить в него название подарка, который хранится в data аттрибуте. Пробовал так, но увы...

<a href="#" class="btn5" data-present="дизайн визитки" onclick="senddata()">Выбрать</a>

function senddata() {
  var present = $(this).data('present');
  console.log(present);
}
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 2
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Можно просто после выбора подарка в форму засунуть input[type="hidden"] с нужным именем и значением (или пусть он там будет с начала, а по выбору изменяйте его значение). Ну, и, собстна, все это сериализовать.

сериализована форма, в массив


В строку, а не в массив - потому push и не сработает.

var serial = $("form").serialize().split("&");

serial.push("present" + "=" + "Ящик пива"); /* $(elem).attr("data-present") */

$.get( "/get.php", serial.join("&") );


А вообще, никогда не любил метод serialize и писал обертки, которые возвращали объект вида

{
  key : val,
  key2: val
}
Ответ написан
@OKF
Если не нужна поддержка относительно старых браузеров, можно вообще сделать так - jsfiddle.net/fainz777/uzd9pu4f

Ну или собирать данные и отправлять их аяксом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы