@inmotusdesign
Фронтенд-разработчик

Как передать в отправку формы заявки выбранные значения мультиселекта?

Вот форма заявки: https://vezdehod-techsnab.ru/new/dt-30-p-vityaz.ht...

Мультиселект (библиотека https://github.com/harvesthq/chosen).

Форма почему-то отправляет только первое значение из ряда выбранных в мультиселекте. Как это исправить и отправлять все выбранные позиции списка мультиселекта.

<form method="post" id="orderForm" action="ttm3902-spare-parts-order-complete.php">
					<input name="fullname" value="" type="text" required="" placeholder="Укажите имя и фамилию" maxlength="255" class="fullname">
					<input name="phone" value="" type="tel" required="" placeholder="Контактный телефон" maxlength="16" pattern="\+7\-[0-9]{3}\-[0-9]{3}\-[0-9]{2}\-[0-9]{2}" class="phone">
					<input name="email" value="" type="email" required="" placeholder="Эл. почта" maxlength="255" class="email">
					<input name="location" value="" type="text" placeholder="Адрес доставки" maxlength="255" class="location">
					<div id="test_me_chzn" class="chzn-container chzn-container-multi multiselect">
					<select data-placeholder="Выберите запчасти ТТМ-3902 для заказа" multiple class="chzn-select" id="test_me" name="spareparts" tabindex="8" required="">
						<option value=""></option>
						<option>245-1002001-01 Блок цилиндров в сборе</option>
						<option>245-1002021 Гильза блока цилиндров</option>
						<option>245-1002022 Кольцо гильзы</option>
						<option>245-1002051-Б1 Трубка</option>
						<option>245-10020850В Горловина маслозаливная</option>
						<option>245-1002176-Б Крышка</option>
						<option>245-1118020 Крышка</option>
						<option>240-1001015-А1-01 Опора передняя</option>
					</select>
					</div>
					<textarea name="text" class="input input_textarea" placeholder="Текст сообщения" title="Напишите вашу заявку" maxlength="1000"></textarea>
					<input type="submit" value="Отправить заявку" id="sendButton" class="btn">
					<script src="js/mootools-yui-compressed.js"></script>
					<script src="js/mootools-more-1.4.0.1.js"></script>
					<script src="js/chosen.js"></script>
					<script> $$(".chzn-select").chosen(); $$(".chzn-select-deselect").chosen({allow_single_deselect:true}); </script>					  
				</form>


Код отправки сообщения:
<?php
		$fullname = trim( $_POST['fullname']);
		$email = trim( $_POST['email']); 	
		$phone = trim( $_POST['phone']); 
		$location = trim( $_POST['location']); 
		if (isset($_POST['spareparts'])) {
			if (is_array($_POST['spareparts'])) {
				$spareparts = implode(', ', $_POST['spareparts']);
			} else {
				$spareparts = trim($_POST['spareparts']);
			}
		} else {
			$spareparts = '';
		}		
		
		$text = trim( $_POST['text']); 		


		$fromMail = 'admin@vezdehod-techsnab.ru';
		$fromName = 'Заказ запчастей для ТТМ-3902';

		$emailTo = 'egorpolyakov@list.ru';
		$subject = 'Заявка из каталога «ТехГазСнаб»';
		$subject = '=?utf-8?b?'. base64_encode($subject) .'?=';
		$headers = "Content-type: text/plain; charset=\"utf-8\"\r\n";
		$headers .= "From: ". $fromName ." <". $fromMail ."> \r\n";

		$body = "Заявка из каталога «ТехГазСнаб»\n\nИмя клиента: $fullname\n\nЭл.почта: $email\n\nТелефон: $phone\n\nАдрес доставки: $location\n\nЗапчасти для ТТМ-3902: $spareparts\n\nСообщение: $text\n\n";


		if (strlen($email) > 0) {
			$mail = mail($emailTo, $subject, $body, $headers, '-f'. $fromMail );
		}
	?>
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 1
@aftar
В select измени name="spareparts[]"

В php
if (!empty($_POST['spareparts'])){
			foreach ($_POST['spareparts'] as $key=>$value) {
		    	$spareparts .= htmlspecialchars($value) . ";<br>";
			}
		}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 07:58
500 руб./в час
18 апр. 2024, в 07:22
45000 руб./за проект
18 апр. 2024, в 01:12
150000 руб./за проект