Крупнейшая биржа рекламы в Телеграм
0 Пользователей и 1 Гость просматривают эту тему.
  • 18 Ответов
  • 2705 Просмотров
*

warlocksp

  • Завсегдатай
  • 1139
  • 16 / 4
Добрый день,

Подскажите как вставить onsubmit в форму BreezingForms...
То есть, в строку: <form method="post"  вставить  (onsubmit="yaCounterXXXXXXX.reachGoal('forma5'); return true;")

Может кто знает?
« Последнее редактирование: 28.06.2016, 09:04:32 от warlocksp »
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

warlocksp

  • Завсегдатай
  • 1139
  • 16 / 4
Не ужели ни кто не делал, отслеживания onSubmit в BreezingForms
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

bgg87

  • Захожу иногда
  • 164
  • 2 / 0
  • Истина где-то рядом...
Дайте пожалуйста кто-нибудь, хоть какую-нибудь инфу  !
*

sivers

  • Завсегдатай
  • 1520
  • 209 / 0
Так а в чем проблема?
На связи в телеге @sivers
*

bgg87

  • Захожу иногда
  • 164
  • 2 / 0
  • Истина где-то рядом...
Так а в чем проблема?
Нужно настроить цель метрики.
У меня на странице 4 разные формы, которые выводятся в модальном окне.
Так вот где и как это можно сделать?
Какой из 2х вариантов необходимо использовать?
1) Нажатие кнопки:
Код
<form action="">
    ...
    <input type="button" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;" value="Заказать" />
</form>
2) Заполнение формы:
Код
<form action="" method="get" onsubmit="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;">
    ...
</form>

Да, еще в 1м варианте приведен пример для кнопки <input>, у меня же в форме это <button>
« Последнее редактирование: 13.11.2019, 20:59:48 от bgg87 »
*

fbr

  • Завсегдатай
  • 1492
  • 170 / 7
лучше onsubmit
потому что onclick будет по каждому левому клику срабатывать
*

AlexB

  • Завсегдатай
  • 1627
  • 41 / 2
В про версии реализовано в настройках кнопки
*

sivers

  • Завсегдатай
  • 1520
  • 209 / 0
лучше onsubmit
потому что onclick будет по каждому левому клику срабатывать
согласен. при этом форму можно отправить нажатием энтера в  поле ввода - тогда вообще будет отправка без клика по кнопке и цель не сработает. да и кнопка должна быть type="submit" по идее.
На связи в телеге @sivers
*

bgg87

  • Захожу иногда
  • 164
  • 2 / 0
  • Истина где-то рядом...
форму можно отправить нажатием энтера в  поле ввода - тогда вообще будет отправка без клика по кнопке и цель не сработает. да и кнопка должна быть type="submit" по идее.
Подскажите пожалуйста, чуть конкретнее. Для меня выше сказанное звучит как заклинание :)

Подозреваю что нужно зайти в расширенные настройки каждой формы "Form Settings" и что-то прописать во вкладке "Script"...

P.S. BreezingForms 1.9.0 Stable (build 931)
*

bgg87

  • Захожу иногда
  • 164
  • 2 / 0
  • Истина где-то рядом...
Кстати где-то видел что это можно реализовать использую вторую страницу формы (сообщение "Спасибо за заказ", которое появляется после отправки формы), но у меня это не сработало.
Вот код:
Код
<script>
  $(window).load(function() {
   yaCounterXXXXXX.reachGoal('TARGET_NAME')
  });
</script>
*

sivers

  • Завсегдатай
  • 1520
  • 209 / 0
Добавьте на страницу что-нибудь такое:
Код
<script>
    jQuery(function(){
        jQuery('form').each(function(){
            var form = jQuery(this);
            form.on('submit', function(){
                yaCounterXXXXXX.reachGoal(form.attr('name'));
            });
        });
    });
</script>
В формах задайте атрибуты name с именем, которое будет передаваться в качестве имени цели. Можно использовать другой атрибут, если name не желательно. Например, data-targetname или любой другой - в скрипте укажите какой именно (вместо 'name').

Чуть не забыл. Это надо добавить 1 раз на страницу. В каждую форму запихивать не надо.
На связи в телеге @sivers
*

ProtectYourSite

  • Живу я здесь
  • 2085
  • 112 / 4
  • Безопасность вебсайтов
согласен. при этом форму можно отправить нажатием энтера в  поле ввода - тогда вообще будет отправка без клика по кнопке и цель не сработает. да и кнопка должна быть type="submit" по идее.
При отправке формы по нажатию Enter в текстовом поле, генерируется событие click на кнопке <input type="submit">.
Button без указания type будет сабмитом.
JavaScript полон нюансов.
https://learn.javascript.ru/forms-submit
*

sivers

  • Завсегдатай
  • 1520
  • 209 / 0
При отправке формы по нажатию Enter в текстовом поле, генерируется событие click на кнопке <input type="submit">.
Да, действительно, проверил. Не знал, что генерится onclick при этом.
На связи в телеге @sivers
*

bgg87

  • Захожу иногда
  • 164
  • 2 / 0
  • Истина где-то рядом...
Чуть не забыл. Это надо добавить 1 раз на страницу. В каждую форму запихивать не надо.
Что то не пойму, а как тогда будет срабатывать цель метрики по отдельности для каждой формы?
Все формы на одной странице в модальном окне.
*

sivers

  • Завсегдатай
  • 1520
  • 209 / 0
Что то не пойму, а как тогда будет срабатывать цель метрики по отдельности для каждой формы?
Да, по отдельности для каждой формы. В качестве имени цели будет использован атрибут из формы (это если надо отслеживать разные цели по каждой форме). Если хотите сделать одну цель на все формы, тогда в качестве имени цели просто укажите одно имя (не через атрибут).
Все формы на одной странице в модальном окне.
Тут надо уточнить как именно у вас реализованы модальные окна. Если они отображают контент, который уже загружен на странице, но скрыт, то должно работать. А вот если модальное окно аяксом или через iframe загружает контент, то придется переписать, чтоб обработчик события навешивался уже после загрузки контента.
На связи в телеге @sivers
*

bgg87

  • Захожу иногда
  • 164
  • 2 / 0
  • Истина где-то рядом...
В качестве имени цели будет использован атрибут из формы (это если надо отслеживать разные цели по каждой форме).

Получается "name" это не имя формы, а то что тут:
Код
<form data-ajax="false" action="https://site.ru/index.php?format=html&amp;tmpl=component" method="post" name="ff_form3" id="ff_form3" enctype="multipart/form-data" accept-charset="utf-8" onsubmit="return false;" class="bfQuickMode">
т.е. это name="ff_form3"
Получается код должен выглядеть так?

Код
<script>
    jQuery(function(){
        jQuery('form').each(function(){
            var form = jQuery(this);
            form.on('submit', function(){
                yaCounterXXXXXX.reachGoal(form.attr('ff_form3'));
            });
        });
    });
</script>
А имя в цели в метрики для отслеживания этой формы задать "ff_form3" ?
P.s. т.к. не знаю где поменять этот атрибут "name" для формы проще изменить имя цели в метрике.

Цитировать
как именно у вас реализованы модальные окна
Они выводятся в модальном окне скорее всего через iframe, но в исходном коде страницы присутствует код всех форм, но могу и ошибаться.
Код
<iframe class="breezingforms_iframe" id="ff_frame3" src="https://site.ru/index.php?option=com_breezingforms&amp;Itemid=537&amp;ff_form=3&amp;ff_applic=mod_facileforms&amp;ff_module_id=131&amp;format=html&amp;tmpl=component&amp;ff_frame=1" width="400" height="500" frameborder="0" allowtransparency="true" scrolling="no" sandbox="allow-same-origin allow-scripts allow-forms allow-pointer-lock allow-popups allow-top-navigation" style="height: 249px;">
« Последнее редактирование: 15.11.2019, 12:19:52 от bgg87 »
*

sivers

  • Завсегдатай
  • 1520
  • 209 / 0
Получается "name" это не имя формы, а то что тут:
Это имя формы. Для метрики в качестве имени можно передавать любой атрибут (параметр) формы.

Они выводятся в модальном окне скорее всего через iframe, но в исходном коде страницы присутствует код всех форм, но могу и ошибаться.
Тогда скрипт надо разместить на той же странице с формами, которая подгружается в iframe
На связи в телеге @sivers
*

bgg87

  • Захожу иногда
  • 164
  • 2 / 0
  • Истина где-то рядом...
Это имя формы. Для метрики в качестве имени можно передавать любой атрибут (параметр) формы.
Ок. У меня имя формы и цель метрики называется одинаково "form_snos".

Цитировать
Тогда скрипт надо разместить на той же странице с формами, которая подгружается в iframe
Ну правильно, код скрипта я добавляю в форму на "page 2" - это вторая страница формы которая появляется после отправки формы (сообщение "спасибо за заказ" и ниже код скрипта), она появляется в том же модальном окне где и заполняются данные.

Итог: все равно не работает :(

Код:
Код
<script>
  jQuery(function(){
    jQuery('form').each(function(){
      var form = jQuery(this);
      form.on('submit', function(){
      yaCounterXXXXXXX.reachGoal(form.attr('form_snos'));
      });
    });
  });
</script>
Понятно, вместо "XXXXXXX" ставлю номер счетчика, остальное не меняю.
*

sivers

  • Завсегдатай
  • 1520
  • 209 / 0
Ну правильно, код скрипта я добавляю в форму на "page 2" - это вторая страница формы которая появляется после отправки формы (сообщение "спасибо за заказ" и ниже код скрипта), она появляется в том же модальном окне где и заполняются данные.
Да почему хоть на вторую страницу? Скрипт нужен именно на той странице, где форма с заполнением данных.
На связи в телеге @sivers
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пропадают символы "_" и "-" в имени файла при закачке через форму

Автор busik

Ответов: 0
Просмотров: 555
Последний ответ 17.04.2018, 21:38:11
от busik
BreezingForms и Google docs

Автор lexxbry

Ответов: 2
Просмотров: 819
Последний ответ 11.11.2017, 14:10:49
от lexxbry
BreezingForms 1.7.5 + Joomla 2.5.6

Автор Melise

Ответов: 5
Просмотров: 1890
Последний ответ 04.06.2017, 19:17:03
от Melise
BreezingForms : как прикрепить документ

Автор Ayano

Ответов: 2
Просмотров: 1639
Последний ответ 22.03.2017, 22:18:09
от kost757
Вопросы по работе с почтой BreezingForms

Автор shmakatuha

Ответов: 9
Просмотров: 6341
Последний ответ 22.03.2017, 22:08:10
от kost757