Есть вот такой код, где я создаю массив и пытаюсь передать его с помощью AJAX в PHP-файл, а там отправить себе на email.
Вот HTML:
<select id="id">
<option>Раз</option>
<option>Два</option>
<option>Три</option>
</select>
<select id="super">
<option>Четыре</option>
<option>Пять</option>
<option>Шесть</option>
</select>
<select id="puper">
<option>Семь</option>
<option>Восемь</option>
<option>Девять</option>
</select>
<form>
<input type="text" name="name" placeholder="Как к вам обращаться">
<input type="email" name="email" placeholder="Ваш email">
<input type="submit" id="btn" value="Отправить">
</form>
Вот JS:
var idFin = $("#id option:selected").text();
var superFin = $("#super option:selected").text();
var puperFin = $("#puper option:selected").text();
var allData = {
id: idFin,
super: superFin,
puper: puperFin,
name: "",
email: "",
};
var test = [];
$('#btn').click(function () {
if ($("input[type='email']").val() == "") {
$("input[type='email']").css("color","red");
return false;
};
});
$("form").submit(function () {
allData[name] = $("input[type='text']").val();
allData[email] = $("input[type='email']").val();
test.push(allData);
$.ajax({
type: "POST",
url: "mail.php",
data: {test: test},
dataType: "json",
success: function () {
alert("Все супер!");
},
error: function(){
console.log('error');
}
});
return false;
});
А вот php, который вроде как должен отправлять мне сообщение:
<?php
$recepient = "self.19978@gmail.com";
$id= trim($_POST["id"]);
$super = trim($_POST["super"]);
$puper = trim($_POST["puper"]);
$name = trim($_POST["name"]);
$email = trim($_POST["email"]);
$message = "Id: $id \nSuper: $super \nPuper: $puper \nИмя: $name \nE-mail: $email";
$pagetitle = "Новое сообщение";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");
?>
Но почему-то ничего не выходит, страница перезагружается при отправке формы, ошибок в консоли не видно и сообщение соответственно не приходит. В каком месте я сделал ошибку? Подскажите пожалуйста!