Есть элемент с названием шрифта:
<input type="radio" class="radio_check" value="GothicRus" name="font">
Нужно всего лишь отправить на почту наименование шрифта взяв его с поля. Вот код, который я написал, параметр font в адресной строке передается, все хорошо, но никак не отправляет на почту
HTML
<input type="radio" class="radio_check" value="GothicRus" name="font">
JS
$('#tab1_submit').click(function(){
$.ajax({
type: "POST",
url: "../php/mail.php",
data: $(this).serialize()
}).done(function(){
alert("Доставлено");
});
return false;
});
#tab1_submit - это кнопка формы, в которой находится элемент radio. По нажатию этой кнопки происходит ajax запрос.
PHP
<?php
$msg_box = "";
$recepient = "<здесь моя почта>@gmail.com";
$sitename = "Название сайта";
$font = trim($_POST["font"]);
$message = "Имя: $font";
$pagetitle = "Новая заявка с сайта \"$sitename\"";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");
?>
Сделал проверку в логах
параметр font в адресной строке передается
значит у тебя форма сабмитится без аякса и в таком случае это $_GET а не $_POST. Если делать без аякса в теге form укажи корректный action и method
Если все-таки аяксом делаешь:
В твоем случае $(this) - это кнопка, а не форма которую тебе надо отправить.
лучше сделай вот так:
$('#your_form_id').on('submit', function(event){
event.stopPropagation();
event.preventDefault();
$.ajax({
type: "POST",
url: "../php/mail.php",
data: $(this).serializeArray()
}).done(function(){
alert("Доставлено");
});
return false;
});
Сборка персонального компьютера от Artline: умный выбор для современных пользователей