Таймер перенаправления при успешной отправке веб-формы


Меня просят ввести автоматическое перенаправление (на домашнюю страницу) на странице подтверждения веб-формы (т.Е. Когда пользователь отправляет данные, он попадает на страницу со словами "Спасибо! Ваше заявление было получено и т. Д."). И меня просят сделать перенаправление через некоторое время, когда прошло, скажем, 10 секунд.

Кажется, мне нужно ввести некоторые изменения js, но я не знаю, как это сделать правильно.

Спасибо вам!

Author: DimG, 2013-01-30

3 answers

Добавьте этот код в webform-confirmation.tpl.php

$(document).ready(function() {
  var delay = 10 ;
  var url = "http://google.com";
  function countdown() {
  setTimeout(countdown, 1000) ;
  $('.webform-confirmation').html("Redirecting in "  + delay  + " seconds.");
  delay --;
  if (delay < 0 ) {
  window.location = url ;
  delay = 0 ;
  }
 }
countdown() ;
});
 1
Author: monymirza, 2013-01-30 11:12:59

Хорошо, если вы новичок в drupal, я объясню вам это шаг за шагом:

  1. Сначала создайте файл в разделе "сайты/все/темы/ваша тема/js/" под названием auto_redirection.js и внутри него вставьте приведенный выше код. (если у вас нет папки js, просто создайте ее!)

  2. Создайте файл в разделе "сайты/все/темы/ваша тема/шаблоны" под названием веб-форма-подтверждение- "идентификатор формы".tpl.php без кавычек, необязательно, вы можете просто позволить этому webform-confirmation.tpl.php и это будет применяется ко всем подтверждениям веб-форм.

  3. Перейдите к'sites/all/modules/webform/templates/webform-confirmation.tpl.php "и скопируйте содержимое этого файла и вставьте его в свою собственную веб-форму-подтверждение - "идентификатор формы".tpl.php вы уже создали.

3. Внутри файла веб-форма-подтверждение - "идентификатор формы".tpl.php просто добавьте это в конце

drupal_add_js(drupal_get_path('theme', 'yourtheme') . '/js/auto_redirection.js');

Не забудьте заменить "ваша тема" на название вашей темы или подтемы... и поставить теги php для приведенный выше код, по какой-то причине я не могу написать теги php здесь jeje.

Это все, что вам нужно, надеюсь, это кому-то поможет

 0
Author: svelandiag, 2014-01-20 04:43:08

Используйте этот скрипт вместо этого, если вы хотите отобразить сообщение с благодарностью и счетчик в сообщении.

    var counter = 10;
setInterval(function() {
    counter--;
    if(counter < 0) {
        window.location = 'http://www.google.com';
    } else {
        document.getElementById("count").innerHTML = counter;
         }
}, 1000);​

Добавьте интервал с идентификатором=количество в сообщении, чтобы отобразить счетчик.

Если вы нашли сценарий здесь: https://stackoverflow.com/a/12498244/3357085

 0
Author: ghapsis, 2017-05-23 12:41:25