mediol-name
@mediol-name
Developer

Как сделать одну форму для нескольких товаров на сайте?

Есть сайт https://instaklad.com.ua/ с несколькими услугами. У каждой услуги своя стоимость и кнопка "Заказать". Сейчас сверстано так, что под каждой кнопкой своя форма.

Как сверстать одну форму, чтобы она вызывалась при клике на Заказать, но на почту будет приходить информация заполненная клиентом и название той услуги, под которой заполнена эта форма?
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
@tempick
1) Оставляете только одну форму, остальные убираете.
2) Добавляете в форму элемент <input type="hidden" name="serviceType">
3) В каждый элемент кнопки добавляете атрибут data-service-type="followers-1" (followers-2, followers-3... по аналогии)

4) При событии клика по кнопке "заказать в 1 клик" показываете модалку с той самой единственной формой, а в input из шага "2" вставляете значение атрибута "data-service-type" у самой кнопки. Получить это значение и передать в форму можно вот так:
let serviceType = $(this).attr('data-service-type'); //получаем атрибут у кнопки
$('input[name="serviceType"]').val(serviceType); //вставляем в форму

5) Создаем php-скрипт (у вас для каждой формы свой php-скрипт, не надо так. Оставьте один скрипт, остальные удалите). И в этом скрипте получаем скрипт услуги вот так: $_POST['serviceType']
6) С помощью switch можно работать с этим значением. Например, если вы отправляете письмо себе на почту, то примерно это будет так:
$emailSubject = 'Услуга: ';
switch($_POST['serviceType']) {
    case 'followers-1':
        $emailSubject .= '2000 подписчиков';
        break;
    case 'followers-2':
        $emailSubject .= '5000 подписчиков';
        break;
    case 'followers-3':
        $emailSubject .= '8000 подписчиков';
        break;
    // и так далее
    default:
        die('Такой услуги нет!');
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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