@MIAJRUSH

Не работает форма обратной связи на сайте. В чём проблема?

Не работает форма обратной связи на сайте
В чём может быть проблема? Писал по видеоуроку, там всё работает

feedback.php

Форма:
<form class="" action="index.html" method="post">
                  <div>
                    <input type="text" id="name" placeholder="Ваше имя" onclick="$(this).css ('border-color', #ccc)">
                    <br>
                    <input type="email" id="email" placeholder="E-mail.." onclick="$(this).css ('border-color', #ccc)">
                  </div>
                  <div>
                    <textarea id="message" placeholder="Введите ваше сообщение"></textarea>
                  </div>
                  <input type="button" id="sent" class="btn" value="Отправить" onclick="$(this).css ('border-color', #ccc)">

                </form>


Скрипт:
<script>
        $('#send').click (function () {
        	var email = $('#email').val ();
        	var name = $('#name').val ();
        	var message = $('#message').val ();
        	$.ajax({
        		url:    	'ajax/mail.php',
        		type:		'POST',
        		cache: 		false,
        		data:   	{'name':name, 'email':email, 'message':message},
        		dataType:	'html',
        		beforeSend: function () {
        			$('#send').attr ("disabled", "disabled");
        		},
        		success: function(data) {
        			if (data == true) {
        				$('#name').val ("");
        				$('#email').val ("");
        				$('#message').val ("");
        				$('#send').text ("Сообщение отправлено");
        				$('#email').css ("border-color", "#60fc8c");
        				$('#name').css ("border-color", "#60fc8c");
        				$('#message').css ("border-color", "#60fc8c");
        			} else {
        				if (data == false)
        					alert ("Что-то пошло не так! Сообщение не отправлено");
        				else {
        					switch (data) {
        					case "Имя не указано":
        					$('#name').css ("border-color", "#f7b4b4");
        					break;
        					case "Сообщение не указано":
        					$('#message').css ("border-color", "#f7b4b4");
        					break;
        					case "Неправильный e-mail":
        					$('#email').css ("border-color", "#f7b4b4");
        					break;
        					default:
        					$('#email').css ("border-color", "#f7b4b4");
        					$('#message').css ("border-color", "#f7b4b4");
        					$('#name').css ("border-color", "#f7b4b4");
        					}
        				}
        			}
        			$('#send').removeAttr ("disabled");
        		}
        	});
        });
      </script>


mail.php
<?php
  $to = "test@mail.com";
  $email = $_POST['email'];

  $err = "";
  if (trim ($_POST['name']) == "" && trim ($_POST['email']) == "" && trim ($_POST['message']) == "")
    $err = "Заполните все поля";
  else if (trim ($_POST['name']) == "")
    $err = "Имя не указано";
  else if (!((strpos($email, ".") > 0) && (strpos($email, "@") > 0)))
    $err = "Неправильный e-mail";
  else if (trim ($_POST['message']) == "")
    $err = "Сообщение не указано";

  if ($err != "") { //Есть какие-либо ошибки
    echo $err;
    exit;
  }
?>
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 2
@McBernar
Ну так сделайте в коде console.log();
Проверьте:
1. Передаются ли данные из полей
2. Приходит ли ответ от php и какой

И почему data==true? Она будет true в том случае, если придет ошибка от php. Разве это верно?
Ответ написан
Комментировать
@MIAJRUSH Автор вопроса
Ошибка в форме в id:
id="sent"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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