Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 28
1

Передача дополнительных данных в форме обратной связи

26.02.2017, 17:38. Показов 1162. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, подскажите возможно ли автоматически передавать дополнительные данные в форме обратной связи. Есть лендинг, на нем под сотню единиц товара. Каждый товар размечен так:

HTML5
1
2
3
4
5
6
<div class="product-wrapper">
    <div class="product-title">Название товара</div>
    <img src="https://www.cyberforum.ru/images/product/39.jpg" alt="39">
    <a class="btn btn-danger" target="_blank" href="tovar/39/index.htm">Проссмотр</a>
    <a class="btn btn-success" target="_blank" href="">Заказать</a>
</div>
При клике на кнопку "Заказать" открывается всплывающее окно, в котором посетитель вводит имя и телефон. Можно как то сделать, чтобы на почту приходили письма в которых указывалось либо название товара, либо номер картинки для идентификации нужного товара для посетителя?
Можно конечно сделать индивидуальную форму для каждого товара, но не хочется создавать большое количество форм.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2017, 17:38
Ответы с готовыми решениями:

Ошибка в форме обратной связи
Как известно PHP файл с сайта стырить нельзя и приходится самому его мастерить. Сама форма...

Форма обратной связи
Всем привет! Вставил на сайт форму обратной связи, найденную на просторах интернета. Выглядит...

Форма обратной связи
Добрый день, у меня есть скрипт формы обратной связи, подскажите, можете подсказать, как сделать...

Форма обратной связи
Ребят, помогите пожалуйста. Никак не могу найти проблему. вот два сайта....

11
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
26.02.2017, 17:46 2
HTML5
1
<input type="hidden" name="product">
0
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 28
26.02.2017, 18:06  [ТС] 3
Ну это если на каждый товар делать свою форму заявки, а хочется 1 форму и чтоб как то передавало параметры...
0
Заблокирован
26.02.2017, 18:30 4
Это вам в раздел JS.

Наверно будет так: прописываете в ссылке уник. id или href и получаете значение в обработчике через this.
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
26.02.2017, 20:29 5
Это:
HTML5
1
<div class="product-wrapper">
Замените на:
HTML5
1
<div class="product-wrapper" data-id="39">
При клике на кнопку получайте этот ID и подставляйте в скрытый input, как показал Jodah.

Добавлено через 41 секунду
Если надо более подробно -- покажите код, который обрабатывает нажатие на кнопку.
0
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 28
26.02.2017, 21:11  [ТС] 6
Там после нажалия кнопки открывается всплывающее окно с с контактной формой, где пользователь вводит имя, телефон и жмет кнопку отправить. Т.е, грубо говоря, есть 3 элемента:
1. Карточка с товаром (примерный код я скидывал)
2. Всплывающее окно с формой заказа, которое открывается при клике по кнопке заказать
3. Скрипт-обработчик на php, куда передаются данные с формы.

Какой код вам показать?
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
26.02.2017, 21:14 7
JS-код, который перехватывает нажатие на кнопку и запускает отображение формы.
0
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 28
26.02.2017, 22:03  [ТС] 8
Там при помощи бутстрапа реализовано модальное окно (bootstrap.js), код, как я понимаю, следующий:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
    var $this   = $(this)
    var href    = $this.attr('href')
    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
    var option  = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
 
    if ($this.is('a')) e.preventDefault()
 
    $target.one('show.bs.modal', function (showEvent) {
      if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
      $target.one('hidden.bs.modal', function () {
        $this.is(':visible') && $this.trigger('focus')
      })
    })
    Plugin.call($target, option, this)
  })
На кнопке стоит:
HTML5
1
<a type="button" class="btn btn-danger" data-toggle="modal" data-target="#zakaz-modal">Перезвоните мне!</a>
data-toggle="modal" - вызывает запуск модального окна,
data-target="#zakaz-modal" - вызывает форму (в данном случае для оформления заказа) в этом модальном окне
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
27.02.2017, 06:32 9
Лучший ответ Сообщение было отмечено dvsnic как решение

Решение

Попробуйте так:
1) Той ссылке-кнопке присвойте атрибут data-id
2) В форму, которая во всплывающем окне, добавьте:
HTML5
1
<input type="hidden" name="product_id">
Затем измените код так:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
    var $this    = $(this),
        data     = $this.data(),
        href     = $this.attr('href'),
        $target  = $(data.target),
        $product = $('[name=product_id]', $target),
        option   = $target.data('bs.modal') ? 'toggle' : $.extend({remote: !/#/.test(href) && href}, $target.data(), data)
 
    if ($this.is('a')) {
        e.preventDefault();
    }
    
    // Установка ID продукта в скрытое поле
    $product.val(data.id);
 
    $target.one('show.bs.modal', function (showEvent) {
        if (showEvent.isDefaultPrevented()) {
            return; // only register focus restorer if modal will actually get shown
        }
        
        $target.one('hidden.bs.modal', function () {
            $this.is(':visible') && $this.trigger('focus')
        })
    })
    
    Plugin.call($target, option, this);
})
1
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 28
27.02.2017, 09:41  [ТС] 10
Я правильно понял, в:
HTML5
1
<a data-id="product-1" type="button" class="btn btn-danger" data-toggle="modal" data-target="#zakaz-modal">Перезвоните мне!</a>
HTML5
1
<input type="hidden" name="product-1">
Ставим в первый код
HTML5
1
data-id="product-1"
Во второй:
HTML5
1
name="product-1"
Данные в ковычках должны совпадать. И если у меня 100товаров, то я должен добавить 100 строчек <input type="hidden" name="product-1"> в форму, в которых будет отличаться:
HTML5
1
name="product-1" (product-1, product-2, product-3 и т.д.)?
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
27.02.2017, 10:01 11
Лучше без самодеятельности.
В форму вставьте Input и забудьте про него. А для ссылок пропишите:
HTML5
1
data-id="product-1"
Только для каждой -- своё значение.
0
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 28
27.02.2017, 14:16  [ТС] 12
Спасибо, все сработало!!!
0
27.02.2017, 14:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2017, 14:16
Помогаю со студенческими работами здесь

Форма обратной связи
Приветствую всех, вопрос возник. Можно ли форму обратной связи отправить без php? На js

Форма обратной связи
Здравствуйте. Есть подобная форма обратной связи, она появляется в виде popup окна, я, с горем...

Форма обратной связи
Добрый день) Подскажите пожалуйста можно ли создать форму обратной связи на странице без...

Форма обратной связи
Ребята помогите, мой сайт зареган на народ.ру, там php не поддерживает. Можно как то на java...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru