fil_and
@fil_and
Делаю сайт гимнастики

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

Здравствуйте,
настроил отправку данных с формы на странице html:
<form method="post" action="javascript:void(0);" onsubmit="send_form();" id="forma">
<input id="name1" name="fio" placeholder="Ф.И.О" />
<input id="phone1" type="text" name="phone" placeholder="Телефон" />
<input id="age1" type="text" name="age" placeholder="Возраст девочки" />
<input id="adress1" type="text" name="adress" placeholder="Адрес зала" />
<textarea id="comment1" name="comment" type="text" placeholder="Комментарий"></textarea>
<br/>
<button type="submit" id="submit1" value="отправить" /> Записаться </button>
</form>


js:
<!-- отправка формы -->
<script>
function send_form() { 
var msg = $("#forma").serialize();
$.ajax({
type: "POST",
url: "/wp-content/themes/gymbalance/send.php",
data: msg,
success: function(data) {
alert("Сообщение отправлено");
setTimeout(function () {
$(".feedback_form_bg").fadeOut();}, 1000);
},
error:  function(xhr, str){
alert("Возникла ошибка!");
setTimeout(function () {$(".feedback_form_bg").fadeOut();}, 1000);
}
});
}
</script>


php в send.php:
<?php
$fio= $_POST['fio'];
$phone= $_POST['phone'];
$age= $_POST['age'];
$adress= $_POST['adress'];
$comment= $_POST['comment'];
$emailTo = 'mail@gymbalance.ru'; //Сюда введите Ваш email
$body = "ФИО: $fio \n\nТелефон: $phone\n\nВозраст: $age \n\nАдрес зала: $adress \n\nКомментарий: $comment";
$headers = "Content-Type: text/plain; charset=utf-8\r\n".'From: Заявка с сайта <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $emailTo;
mail($emailTo, $fio, $body, $headers);
$emailSent = true;
?>


Подскажите пожалуйста, как правильно изменить классы и прочие параметры в этих кодах, чтобы отправлялись данные с нескольких разных по содержанию форм? (Например, во вторую форму добавятся 2 поля "example1" и "example2", а из третьей наоборот, удалится 1 поле "адрес").

Или же нужно под каждую форму создавать отдельный send.php и скрипт?

Как вообще лучше, так как сейчас форма реализована или постараться только на php сделать? Или вообще плагин поставить?
  • Вопрос задан
  • 538 просмотров
Пригласить эксперта
Ответы на вопрос 1
dummyman
@dummyman
диссидент-схизматик
Вообще, форма - должен быть абстрактным элементом, имеет смысл объединить в одну форму если они все отправляются одновременно.
Но можно вместо строки
var msg = $("#forma").serialize();
добавить любые значения
var msg = $("#forma").serializeArray();
msg.push({  
   name: "example1",
   value: $("#forma [name=example1]").val()
});
msg.push({  
   name: "example2",
   value: $("#forma [name=example2]").val()
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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