@Yurasic

Как не обрабатывать все 'action' на всей странице?

Всем привет!
Столкнулся с такой проблемой.
Взял из интернета landing страницу и впаял её в сайт. Там куча кнопок, но по сути они всё одно и тоже - просто при нажатии отправляют на эмайл данные о нажатии. После того, как посетитель нажал кнопку, ему высветилось Ajax "СПАСИБО! Вам перезвонит наш консультант".
Всё бы ничего, но на сайте у меня есть переключение языков. И обнаружил я то, что на странице с этим кодом, при смене языка выскакивает Ajax "СПАСИБО! Вам перезвонит наш консультант". Методом тыка(другими знаниями в этой области не обладаю), определил, что отвечает за это код в scrips.js
$('form').submit(function(e){
        e.preventDefault();
        var self = this;

        $.ajax({
            url: $(this).attr('action'),
            type: 'POST',
            data: $(this).serialize(),
            success: function (data, textStatus, jqXHR) {
                $(self).parents('.popup')
                    .animate({opacity: 0}, 200,
                    function () {
                        $(this).css('display', 'none');
                    }
                );
                $('.overlay').fadeIn(400,
                    function () {
                        $('.popup-thank')
                            .css('display', 'block')
                            .animate({opacity: 1}, 200);
                    });
            }
        });
    });

Т.е. насколько я понимаю, данный скрипт всем 'action' на странице выдаёт окно с "благодарностью". Как сделать так, чтобы он действовал только на кнопки.
Пример кнопок на сайте:
<button class="red-btn reason__btn">
                        У меня эта проблема!
                    </button>

Текст с благодарностями
<div class="popup popup-thank">
    <div class="popup-content">
        <span class="popup__close"></span>
        <p class="popup__title">СПАСИБО!</p>
        <p class="popup__desc">Вам перезвонит наш консультант</p>

    </div><!--popup-content-->

</div><!--popup-->


Благодарю
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Данный скрипт обрабатывает отправку всех форм

$('form').submit(function(e){

Вам нужно просто уточнить какие формы нужно обрабатывать
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы