почему не работает alert

108
25 октября 2019, 19:20
$(document).ready(function() {
$("#form").submit(function() { 
    var th = $(this);
    $.ajax({
        type: "POST",
        url: "mail.php",
        data: th.serialize()
    }).done(function() {
        alert('Спасибо, скоро мы с вами свяжемся');
        setTimeout(function() {
            th.trigger("reset");
        }, 1000);
    });
    return false;
});

Не выводится сообщение после отправки формы

html

        <form id="form" action="mail.php" method="post" name="signup-form">
        <legend>Записаться на тренировку</legend>
        <div class="signup-icon">
            <img src="img/desktop/svg/icon-shedule.svg" class="sign-icon" alt="Записаться">
        </div>
        <div class="fildes">
            <div class="form-name">
             <input type="text" id="name" placeholder="Имя" name="name" required>
             <label for="Name">Имя</label>
            </div>
            <div class="form-surname">
             <input type="text" id="surname" placeholder="Фамилия" name="surname" required>
             <label for="surname">Фамилия</label>
            </div>
            <div class="form-phone">
             <input type="text" id="phone" placeholder="Телефон" name="phone" required>
             <label for="phone">Телефон</label>
            </div>
            <button type="submit" name="send">Записаться</button>
        </div>
    </form>

php

<?php 
$rec = "получатель@почта.com";
$title = "Новая заявка с сайта";
$name = trim($_POST["name"]);
$surname = trim($_POST["surname"]);
$phone = trim($_POST["phone"]);
$message = "Имя: $name \n Фамилия: $surname \n Телефон: $phone";
mail($rec, $title, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $rec");
?>
Answer 1

Потому что в коде не хватает закрывающих скобок.

$(document).ready(function() { 
  $("#form").submit(function() { 
    var th = $(this); 
    $.ajax({ 
      type: "POST", 
      url: "mail.php", 
      data: th.serialize(), 
      error: function() { 
        alert('ERROR'); 
      } 
    }).done(function() { 
      alert('Спасибо, скоро мы с вами свяжемся'); 
      setTimeout(function() { 
        th.trigger("reset"); 
      }, 1000); 
    }); 
    return false; 
  }); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<form id="form"> 
  <button type="submit">Submit</button> 
</form>

Они добавлены, тот же результат

На странице нет формы с id="form".

Она есть. Все работает и письмо приходит как надо, но сообщения не выводит- просто очищаются поля формы

У Вас происходит сабмит формы и перезагружается страница.

Четвертый вариант - в страницу не загружена библиотека jQuery. Какие сообщения/ошибки есть в консоли браузера?

(У меня еще много хороших идей.)

READ ALSO
на элементы PhantomJS

на элементы PhantomJS

Написал на коленке код для работы с OCR Yandex Translate в среде PhantomJSДля перевода текста картинки с английского на русский

113
Просчитать сумму всех span

Просчитать сумму всех span

Подскажите пожалуйста, есть код который берет элемент у которого есть id="price" и умножает на данные элемента id="amount" и выводит в элемент с id="summa"Но...

133