Интернет |
Подскажите по отправке checkbox
Приветствую!
Есть e-mail форма, которая отправляет данные из полей text, date и checkbox. Все отправляется нормально, но есть неольшая проблема с чекбоксами: отправляется только первый выбранный параметр, даже если я отмечаю 2 или 3 чекбокса. Вот как это реализовано (указываю только поле с чекбоксом, чтоб не громоздить простыню):
form.html
script.js
mail.php
Подскажите, где ошибся. Спасибо!
Есть e-mail форма, которая отправляет данные из полей text, date и checkbox. Все отправляется нормально, но есть неольшая проблема с чекбоксами: отправляется только первый выбранный параметр, даже если я отмечаю 2 или 3 чекбокса. Вот как это реализовано (указываю только поле с чекбоксом, чтоб не громоздить простыню):
form.html
Код:
<input type="checkbox" name="fieldname" id="unic1" value="Значение 1">
<input type="checkbox" name="fieldname" id="unic2" value="Значение 2">
<input type="checkbox" name="fieldname" id="unic3" value="Значение 3">
Код:
$(document).ready(function(){
$('#btn_submit').click(function(){
var rtype = $('input[name="fieldname"]:checked').val();
$.ajax({
url: "/mail.php",
type: "post",
dataType: "json",
data: {
"fieldname": fieldname
},
success: function(data){
$('.messages').html(data.result);
}
});
});
});
Код:
<?php
$msg_box = "";
$errors = array();
if($_POST['user_email'] == "") $errors[] = "Поле 'Ваш e-mail' не заполнено!";
if(empty($errors)){
// собираем данные из формы
$message .= "E-mail пользователя: " . $_POST['user_email'] . "<br/>";
$message .= "Данные поля с чекбоксами: " . $_POST['fieldname'] . "<br/>";
send_mail($message);
// отправим письмо
// выведем сообщение об успехе
$msg_box = "<style>#resform{display:none;}</style>Успено отправлено!";
}else{
// если были ошибки, то выводим их
$msg_box = "";
foreach($errors as $one_error){
$msg_box .= "<span style='color: red;'>$one_error</span><br/>";
}
}
// делаем ответ на клиентскую часть в формате JSON
echo json_encode(array(
'result' => $msg_box
));
// функция отправки письма
function send_mail($message){
// почта, на которую придет письмо
$mail_to = "info@inbox.com";
// тема письма
$subject = "Тема";
// заголовок письма
$headers= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n"; // кодировка письма
$headers .= "From: Заказ <no-reply@mail.com>\r\n"; // от кого письмо
mail($mail_to, $subject, $message, $headers);
}
?>