Закрывается окно и не показывает сообщение об успешной отправке (см. сайт)

Mahol
На сайте с 20.11.2016
Offline
101
279
Всем доброго дня. 
Имеется сайт на Wordpress. При нажатии кнопки "ЗАПИСАТЬСЯ" в шапке, появляется всплывающая форма. Заполняю её, кликаю по кнопке "Отправить", как форма тут же исчезает и не показывает посетителю сообщение об успешной отправке. Как этого избежать? Пусть пользователь сам закроет окно, либо само закроется через 3 сек.
png 7tfql.png
D
На сайте с 02.02.2010
Offline
138
#1
Форма создается динамически и возможно не работают скрипты с динамически созданным html формы. Т.е. не работает ajax. Нужно или поменять скрипт popup, чтобы готовая форма просто скрывалась стилями, а не генерилась. или читать доки cf7, возможно есть метод инициализации формы.
D.iK.iJ
На сайте с 26.05.2013
Offline
229
#2

Зашел. Ничего не заполнял. Просто нажал записаться - страница перезагрузилась. Нажал еще раз Записаться, а там показывает ошибки вроде: " Пожалуйста, заполните обязательные поля".

А где прерывание действия по умолчанию? Ну там   onclick = " event . preventDefault ( ) " например? Или в скрипте обработчике должно стоять.

Ну а если нет, то где-то вы форму обрабатываете. По идее, можно на этой странице окно и вывести. Сделать не  action="/#wpcf7-f12890-t1-o1" а  action="/?blablabla" и показывать там окно - что с формой произошло. Только от индексации бы закрыть это все.


Забыл. Можно же прямо перед перезагрузкой скриптом просто выдать alert("Заявка отправлена!");  Хоть и костыль, но проблему в какой-то мере решит.

Адаптивный дизайн в 2 строчки ( https://dikij.com/wm/adaptaciya-saytov.php ). + Принимаю заказы любой сложности ( https://searchengines.guru/ru/forum/926323 ). 💎 Еще я делаю классные кулоны с опалами ( https://mosaicopal.ru/ ).
Mahol
На сайте с 20.11.2016
Offline
101
#3
D.iK.iJ #:

Зашел. Ничего не заполнял. Просто нажал записаться - страница перезагрузилась. Нажал еще раз Записаться, а там показывает ошибки вроде: " Пожалуйста, заполните обязательные поля".

А где прерывание действия по умолчанию? Ну там   onclick = " event . preventDefault ( ) " например? Или в скрипте обработчике должно стоять.

Ну а если нет, то где-то вы форму обрабатываете. По идее, можно на этой странице окно и вывести. Сделать не  action="/#wpcf7-f12890-t1-o1" а  action="/?blablabla" и показывать там окно - что с формой произошло. Только от индексации бы закрыть это все.


Забыл. Можно же прямо перед перезагрузкой скриптом просто выдать alert("Заявка отправлена!");  Хоть и костыль, но проблему в какой-то мере решит.

Нашел в файле submit.php этот код и добавил event.preventDefault - не работает, либо я не понимаю логику. 

<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="submit" class="tag" readonly="readonly" onfocus="this.select()" onclick=event.preventDefault()"/></div>
D
На сайте с 02.02.2010
Offline
138
#4
 
Mahol #:

Нашел в файле submit.php этот код и добавил event.preventDefault - не работает, либо я не понимаю логику. 

Конечно не понимаете. В файлах плагина не нужно ничего редактировать, достаточно правильно встроить форму на страницу.
W1
На сайте с 22.01.2021
Offline
306
#5
Вообще ничего не работает.
Мой форум - https://webinfo.guru –Там я всегда на связи
D.iK.iJ
На сайте с 26.05.2013
Offline
229
#6

Скрипт у вас должен быть. Который обработает нажатие и форму...

Но раз его нет, то можете по успешной отправке пользователю просто показывать другое окно. Об отправке.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий