Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   перехват класса родительского дива. (https://javascript.ru/forum/jquery/81812-perekhvat-klassa-roditelskogo-diva.html)

GuitarloverX 31.01.2021 22:11

перехват класса родительского дива.
 
В общем проблема такая: Есть плагин создания форм для вордпресса (form maker by10web). Все формы созданные в нем имеют один и тот же класс кнопки отправки формы (.button-submit). Я пытаюсь понять какая форма отправлена по нажатию (.button-submit) путем поднятия по дому до (form), перехватить класс этого (form) и сравнить его с заданным( 'fm-form.form7' ), если совпадает, то срабатывает цель яндекс метрики, если нет другая цель яндекс метрики. Перепробовал 1000 вариантов... не выходит... Всегда отправляется только по цели "если не совпало"

jQuery(document).ready(function() {
  jQuery(".button-submit").click(function (e) {
    var clickedClass = e.target.className;
    var clickedID = e.target.id;
    var is_send_units = jQuery( e.target ).parents( 'form' ).hasClass( 'fm-form.form7' );
        console.log( is_send_units );
        if( is_send_units ){
          ym(52913236, 'reachGoal', '7');
        }
        else {
          ym(52913236, 'reachGoal', '8');
        }
  });
});


У плагина есть возможность в админке прописать действие после отправки формы, но почему-то не работает...


Помогите пожалуйста разобраться...

рони 31.01.2021 22:25

GuitarloverX,
через пробел
.hasClass( 'fm-form form7' );

рони 31.01.2021 22:35

GuitarloverX,
jQuery(function() {
    jQuery(".button-submit").click(function (e) {
        var form = this.form;
        var is_send_units = form.classList.contains('fm-form') && form.classList.contains('form7');
                console.log( is_send_units );
                if( is_send_units ){
                    ym(52913236, 'reachGoal', '7');
                }
                else {
                    ym(52913236, 'reachGoal', '8');
                }
    });
});

GuitarloverX 31.01.2021 22:48

Цитата:

Сообщение от рони (Сообщение 533345)
GuitarloverX,
через пробел
.hasClass( 'fm-form form7' );

Спасибо, заработало)) а то я уж чуть не застрелился))

GuitarloverX 31.01.2021 22:49

Цитата:

Сообщение от рони (Сообщение 533347)
GuitarloverX,
jQuery(function() {
    jQuery(".button-submit").click(function (e) {
        var form = this.form;
        var is_send_units = form.classList.contains('fm-form') && form.classList.contains('form7');
                console.log( is_send_units );
                if( is_send_units ){
                    ym(52913236, 'reachGoal', '7');
                }
                else {
                    ym(52913236, 'reachGoal', '8');
                }
    });
});

Да, так грамотнее конечно... но я еще только учусь) Спасибо!


Часовой пояс GMT +3, время: 07:12.