0
0

При нажатии на кнопку страница обновляется, а также не отправляются данные на почту. Не понимаю в чем причина. 

const slider = tns({
    container: '.carousel__inner',
    items: 1,
    slideBy: 'page',
    autoplay: false,
    controls: false,
    nav: false
});
document.querySelector('.prev').addEventListener('click', function () {
    slider.goTo('prev');
});
document.querySelector('.next').addEventListener('click', function () {
    slider.goTo('next');
});

$('ul.catalog__tabs').on('click', 'li:not(.catalog__tab_active)', function () {
    $(this)
        .addClass('catalog__tab_active').siblings().removeClass('catalog__tab_active')
        .closest('div.container').find('div.catalog__content').removeClass('catalog__content_active').eq($(this).index()).addClass('catalog__content_active');
});

function toggleSlide(item) {
    $(item).each(function (i) {
        $(this).on('click', function (e) {
            e.preventDefault();
            $('.catalog-item__content').eq(i).toggleClass('catalog-item__content_active');
            $('.catalog-item__list').eq(i).toggleClass('catalog-item__list_active');
        })
    });
};
toggleSlide('.catalog-item__link');
toggleSlide('.catalog-item__back');

//Modal
$('[data-modal=consultation]').on('click', function () {
    $('.overlay, #consultation').fadeIn();
});
$('.modal__close').on('click', function () {
    $('.overlay, #consultation, #thanks, #order').fadeOut();
});
$('.button_mini').each(function (i) {
    $(this).on('click', function () {
        $('#order .modal__descr').text($('.catalog-item__subtitle').eq(i).text());
        $('.overlay, #order').fadeIn();
    });
});

function validateForms(form) {
    $(form).validate({
        rules: {
            name: "require",
            phone: "require",
            email: {
                required: true,
                email: true
            }
        },
        messages: {
            name: "Пожалуйста, введите свое имя",
            phone: "Пожалуйста, введите свой номер телефона",
            email: {
                required: "Пожалуйста, введите свой e-mail",
                email: "Неправильно введен e-mail адрес"
            }
        }
    });
};
validateForms('#consultation-form');
validateForms('#consultation form');
validateForms('#order form');

$('input[name=phone]').mask("+7 (999) 999-99-99");

$('form').submit(function (e) {
    e.preventDefault();
    $.ajax({
        type: "POST",
        url: "mailer/smart.php",
        data: $(this).serialize()
    }).done(function () {
        $(this).find("inpute").val("");

        $('form').trigger('reset');
    });
    return false;
});
<?php 

$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];

require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';

// $mail->SMTPDebug = 3;                               // Enable verbose debug output

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'konstantinovsk13@gmail.com';                 // Наш логин
$mail->Password = 'пароль';                           // Наш пароль от ящика
$mail->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465;                                    // TCP port to connect to
 
$mail->setFrom('konstantinovsk13@gmail.com', 'Pulse');   // От кого письмо 
$mail->addAddress('mepako2559@box4mls.com');     // Add a recipient
//$mail->addAddress('ellen@example.com');               // Name is optional
//$mail->addReplyTo('info@example.com', 'Information');
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
//$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Данные';
$mail->Body    = '
		Пользователь оставил данные <br> 
	Имя: ' . $name . ' <br>
	Номер телефона: ' . $phone . '<br>
	E-mail: ' . $email . '';

if(!$mail->send()) {
    return false;
} else {
    return true;
}

?>

Доминика Кацура
3 years ago






Возможно кому-то тоже поможет, поэтому оставляю ссылку на решение
https://ru.stackoverflow.com/questions/1125258/При-нажатии-на-кнопку-страница-обновляется?noredirect=1#comment1944837_1125258

Доминика Кацура
3 years ago

Была та же проблема. Купил хостинг и домен, который советует преподаватель в видео. Залил всё туда. Всё работает. Потратил 260р. На Mamp и OpenServer ничего не работало

Алексей Мельников
3 years ago

2 ответов