@AntonIva

Почему с Mozilla Firefox браузера не отправляет форму?

Почему то с Mozilla Firefox браузера не отправляет форму, с других отправляет. Вот этот код был взят из интернета.
<div class="modal-body">
					<form id="sending" method="post">
                        <label>&nbsp;</label><input required="required" name="fio" type="text" class="input_form " placeholder="Фамилия Имя Отчество"><br>
                         <label>&nbsp;</label><input name="email" type="text" class="input_form" placeholder="Email"><br>
                         <label>&nbsp;</label><input required="required" name="phone" type="tel" class="input_form" placeholder="Телефон 8 123 456 7890"><br>
                         <label>&nbsp;</label><input required="required" name="type" class="input_form" placeholder="Тип документа"><br>
                         <label>&nbsp;</label><textarea required="required" name="message" maxlength="200" class="textarea_form" placeholder="Примичание"></textarea><br>
                     </form>
      			</div>
      			<div class="modal-footer">
        			<button type="submit" class="btn btn-default" data-dismiss="modal">Закрыть</button>
        			<button type="submit" form="sending" class="btn btn-primary">Отправить</button>
      			</div>

$(document).ready(function(){
     $("#sending").submit(function() { //устанавливаем событие отправки для формы с id=form
        var form_data = $(this).serialize(); //собираем все данные из формы
        $.ajax({
        type: "POST", //Метод отправки
        url: "send.php", //путь до php файла отправителя
        data: form_data
        });
     });
});

if((isset($_POST['fio']))&&(isset($_POST['email']))&&(isset($_POST['phone']))&&(isset($_POST['type']))&&(isset($_POST['message']))){
    $to = '**********@yandex.ru';
    $subject = 'Заявка';
    $message = '
            <html>
                <head>
                    <title>'.$subject.'</title>
                </head>
                <body>
                    <p>ФИО: '.$_POST['fio'].'</p>
                    <p>Email: '.$_POST['email'].'</p>
                    <p>Телефон: '.$_POST['phone'].'</p>
                    <p>Тип документа: '.$_POST['type'].'</p>
                    <p>Примичание: '.$_POST['message'].'</p>
                </body>
            </html>';
    $headers  = "Content-type: text/html; charset=utf-8 \r\n";
    $headers .= "From: Письмо с **** <support@*******>\r\n";
    mail($to, $subject, $message, $headers);
}
  • Вопрос задан
  • 375 просмотров
Пригласить эксперта
Ответы на вопрос 1
Jeer
@Jeer
уверенный пользователь
var form_data = $(this).serialize(); //собираем все данные из формы
сериализует данные в строку запроса, которая должна отправляться методом GET.
Я удивлен, что работает в других браузерах.
Вам необходимо собрать данные в корректный json, чтобы отправить их методом POST в теле запроса
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
24 нояб. 2024, в 14:37
3000 руб./в час
24 нояб. 2024, в 13:04
500 руб./в час
24 нояб. 2024, в 12:29
3000 руб./за проект