Обработка нескольких форм WFFM на одной странице с динамическими вкладками

У нас есть страница с тремя формами веб-форм для маркетологов, которые находятся на трех отдельных вкладках DHTML. Если пользователь заполняет и отправляет форму, он возвращается на вкладку по умолчанию, а его благодарственное сообщение находится на вкладке формы, которую он заполнил.

Мы рассмотрели возможность использования hastags, чтобы указать, на какой вкладке вы находитесь, чтобы мы могли установить правильный фокус, когда страница загружается после обратной передачи формы WFFM, но хэштеги удаляются из URL-адреса во время обратной передачи. Параметры строки запроса, похоже, переживают обратную передачу, но при установке навигации по вкладкам они сами повлекут за собой обратную публикацию, что устраняет преимущество использования вкладок DHTML.

Есть ли у кого-нибудь хорошее решение для обработки отображения правильной вкладки после обратной передачи?

Версия Sitecore: 6.4.1 (версия 110324) Веб-формы для маркетологов-2.2.0 (версия 110303)


person Derek Dysart    schedule 03.10.2011    source источник


Ответы (3)


В качестве альтернативного метода вы можете использовать javascript для обновления файла cookie при смене вкладки. Когда страница загружается в следующий раз, cookie проверяется, чтобы узнать, на какой последней вкладке находился пользователь, и восстанавливает эту вкладку как вкладку по умолчанию (на этом этапе он также может очистить cookie).

person Kasaku    schedule 04.10.2011
comment
Это в сочетании с другим ответом (поскольку мы используем вкладки пользовательского интерфейса jquery) кажется лучшим подходом на данный момент. Спасибо! - person Derek Dysart; 04.10.2011

Для этого вы можете использовать куки.

  1. Когда вкладка выбрана, сохраните файл cookie (при необходимости под уникальным именем для текущего пути и т. Д.) Со значением выбранного индекса.
  2. На готовой странице проверьте свой файл cookie. Если присутствует, возьмите значение и установите соответствующую вкладку как выбранную.

Да, это печенье, и, вероятно, не на 100% идеально, но я думаю, что в этом случае это нормально, поскольку это просто сахар пользовательского интерфейса.

Черт возьми, вкладки пользовательского интерфейса jQuery даже имеют это встроенное: http://jqueryui.com/demos/tabs/#option-cookie

person ambrauer    schedule 04.10.2011

Переопределите поведение элемента управления, отправляющего форму, и в этой обратной передаче он должен выдать некоторый javascript на страницу, которая устанавливает значение текущей отображаемой вкладки. Вы можете просто использовать свой javascript на странице, чтобы использовать переменную для установки вкладки по умолчанию для отображения.

person Kasaku    schedule 04.10.2011
comment
Если бы это были обычные веб-формы, это могло бы сработать, но элемент управления полностью контролируется плагином Sitecore, поэтому переопределение невозможно. Кроме того, форма может отображаться в любом количестве заполнителей, кроме вкладок. - person Derek Dysart; 04.10.2011
comment
Даже если вы используете плагин, у вас все еще есть возможность переопределить функцию отправки. Я давно не работал с WFFM, но вы можете полностью настроить поведение формы, как и большинство Sitecore. Было бы немного больше работы, но это также может проверить наличие вкладок на странице и делать это только при необходимости. - person Kasaku; 04.10.2011