@ralduga

Как отправить выбор dropdown-menu из формы?

Форма содержит 3 текстовых поля + dropdown-menu. Выбор из этого меню должен передаваться на e-mail вместе с содержимым полей.
Фрагменты ниже:

<form role="form" id="contactForm">
				<input type="text" class="form-control" id="name" placeholder="Ваше имя" required>
				<input type="text" class="form-control" id="email" placeholder="Телефон" required>

				<div class="dropdown">
					<button class="btn btn-default dropdown-toggle" type="button" id="category" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
						Категория мероприятия
						<span class="caret"></span>
					</button>
					<ul class="dropdown-menu" aria-labelledby="category">
						<li><a href="#">Корпоративное</a></li>
						<li><a href="#">Деловое</a></li>
						<li><a href="#">Частное</a></li>
						<li><a href="#">Масштабное</a></li>
						<li><a href="#">Флешмоб</a></li>
						<li><a href="#">Социальное</a></li>
						<li><a href="#">Booking</a></li>
					</ul>
				</div>

				<textarea id="message" class="form-control" rows="5" placeholder="Комментарий"></textarea>
				<button type="submit" id="form-submit" class="btn btn-success btn-lg pull-right ">Отправить</button>
				<div id="msgSubmit" class="h3 text-center hidden">Сообщение отправлено!</div>
			</form>


$("#contactForm").submit(function(event){
    // cancels the form submission
    event.preventDefault();
    submitForm();
});

function submitForm(){
    // Initiate Variables With Form Content
    var name = $("#name").val();
    var email = $("#email").val();
    var message = $("#message").val();
 
    $.ajax({
        type: "POST",
        url: "php/process.php",
        data: "name=" + name + "&email=" + email + "&message=" + message,
        success : function(text){
            if (text == "success"){
                formSuccess();
            }
        }
    });
}
function formSuccess(){
    $( "#msgSubmit" ).removeClass( "hidden" );
}


<?php
$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];
 
$EmailTo = "san-ya@mail.ru";
$Subject = "New Message Received";
 
// prepare email body text
$Body .= "Имя: ";
$Body .= $name;
$Body .= "\n";
 
$Body .= "Телефон: ";
$Body .= $email;
$Body .= "\n";
 
$Body .= "Комментарий: ";
$Body .= $message;
$Body .= "\n";
 
// send email
$success = mail($EmailTo, $Subject, $Body);
 
// redirect to success page
if ($success){
   echo "success";
}else{
    echo "invalid";
}
 
?>


Прошу помощи, знания в JS и php нулевые, отправить данные полей получилось, осталось победить список.
  • Вопрос задан
  • 725 просмотров
Решения вопроса 1
zoozag
@zoozag
Opencart
Создайте невидимый input.
При клике по пункту выпадающего меню передавайте текст ссылки в значение этого инпута.
В остальном обрабатывайте этот input так же как и остальные.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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