@smoklew

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

По какой причине не отправляется форма? (Возможно что то в option напутал, но всё равно реакции 0) , вот если что для наглядности САЙТ
<form id="form" class="form">
					<img id="linelips" src="img/linelips.png">
						<input name="name" type="text" placeholder="Ваше имя" required="required"></input>
						<input name="phone" type="tel" placeholder="Номер телефона" required="required"></input>
						<select name="offer" class="offer_list">
						<option value="">Выберите плампер</option>
						<option value="990 Р.">Fullips Small Oval — «Маленький овал»: 990 руб.</option>
						<option value="990 Р.">Fullips Medium Oval — «Средний овал»: 990 руб.</option>
						<option value="990 Р.">Fullips Large Round - «Большой круг»: 990 руб.</option>
						<option value="2470 Р.">Fullips Full Pack — Набор из 3-х штук: 2 470 руб.</option>
						</select>
						<img id="linelips" src="img/linelips.png">
					<span class="newprice">Наша Цена: <span id="newprice"></span></span>
					<script type="text/javascript">
$('.offer_list').on('change', function() {
  $("#newprice").html( $(this).find(":selected").val() );
});
					</script>
<input class="do_order" type="submit" value="Отправить заявку!">
			</form>

<?
if((isset($_POST['name'])&&$_POST['name']!="")&&(isset($_POST['phone'])&&$_POST['phone']!="")){ //Проверка отправилось ли наше поля name и не пустые ли они
        $to = '123@partskom.ru'; //Почта получателя, через запятую можно указать сколько угодно адресов
        $message = '
                <html>
                    <head>
                        <title>'.$subject.'</title>
                    </head>
                    <body>
                        <p>Имя: '.$_POST['name'].'</p>
                        <p>Телефон: '.$_POST['phone'].'</p> 
                        <p>Модель: '.$_POST['offer'].'</p>                       
                    </body>
                </html>'; //Текст нащего сообщения можно использовать HTML теги
        $headers  = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма
        mail($to, $message, $headers); //Отправка письма с помощью функции mail
}
?>

<script type="text/javascript">
$(document).ready(function(){
    $("#form").submit(function() { //устанавливаем событие отправки для формы с id=form
            var form_data = $(this).serialize(); //собераем все данные из формы
            $.ajax({
            type: "POST", //Метод отправки
            url: "../php/script.php", //путь до php фаила отправителя
            data: form_data,
            success: function() {
                   //код в этом блоке выполняется при успешной отправке сообщения
                   alert("Ваше сообщение отпрвлено!");
            });
    });
});    
</script>
  • Вопрос задан
  • 669 просмотров
Решения вопроса 1
ruozaki
@ruozaki
Не забывайте отмечать верные ответы
У вас сабмит сабмитит форму, а Вы пытаетесь ее аяксом отправить, допишите в <form action="javascript:void(null);">

$(document).ready(function(){
    $("#form").submit(function() { //устанавливаем событие отправки для формы с id=form
            var form_data = $(this).serialize(); //собераем все данные из формы
            $.ajax({
            type: "POST", //Метод отправки
            url: "../php/script.php", //путь до php фаила отправителя
            data: form_data,
            success: function() {
                   //код в этом блоке выполняется при успешной отправке сообщения
                   alert("Ваше сообщение отпрвлено!");
          },
          error:  function(xhr, str){
                alert('Возникла ошибка: ' + xhr.responseCode);
    
            }
    });
});  
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Для отправки формы на адрес /php/script.php нужно установить параметр action
<form id="form" class="form" action="/php/script.php"></form>

Не закрыт ready, это правильный код
$(document).ready(function () {
        $("#form").submit(function () { //устанавливаем событие отправки для формы с id=form
            var form_data = $(this).serialize(); //собераем все данные из формы
            $.ajax({
                type: "POST", //Метод отправки
                url: "../php/script.php", //путь до php фаила отправителя
                data: form_data,
                success: function () {
                    //код в этом блоке выполняется при успешной отправке сообщения
                    alert("Ваше сообщение отпрвлено!");
                },
                error: function (xhr, str) {
                    alert('Возникла ошибка: ' + xhr.responseCode);

                }
            });
        });
    });


Для проверки срабатывания обработчика
$(document).ready(function () {
        $("#form").submit(function () {
            console.log("Send");
            return false;
        });
    });
Ответ написан
Ваш ответ на вопрос

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

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