Чтобы данные передавать с одной страницы (Страница 1) на другую (Страница 2), нужно их сохранять в LocalStorage.
Рабочий пример можно посмотреть по ссылке.
Следующий код сохраняет те поля, у которых в настройках есть класс, начинающийся с export-
(export-result
, export-name
и т.д.).
<script>
cr.api(function (page) {
// Шаблон класса, которым помечаются сохраняемые поля
var exportRegExp = /^export-[\w\W-_0-9]+$/;
// Отслеживаем отправку всех форм
page.on('form-submit', function (event) {
event.form.fields.forEach(function (field) {
// Проверяем, соответствует ли хоть один класс поля шаблону
field.el.classList.forEach(function (className) {
// Если соответствует, то...
if (exportRegExp.test(className)) {
// ... сохраняем значение поля в LocalStorage
localStorage.setItem(className, JSON.stringify(field.value));
}
});
});
});
});
</script>
Далее, код, который восстанавливает сохраненные поля.
Чтобы он сработал, нужно:
import-from-storage
.export-result
, export-name
и т.д.).
<script>
cr.api(function (page) {
// Шаблон класса, которым помечаются сохраняемые поля
var exportRegExp = /^export-[\w\W-_0-9]+$/;
// Восстанавливаем поля только в формах с классом
page.lazy('.import-from-storage', function (el) {
page.getComponent(el).fields.forEach(function (field) {
// Проверяем, соответствует ли хоть один класс поля шаблону
field.el.classList.forEach(function (className) {
// Если соответствует, то...
if (exportRegExp.test(className)) {
// ... достаем сохраненное значение поля
var value = JSON.parse(localStorage.getItem(className));
// И записываем его в поля
if (value !== null) field.setValue(value);
}
});
});
});
});
</script>
Можно делать и более сложные связки. Например, на страницу 2 так же добавить код для Страницы 1, а на Страницу 3 добавить код для Страницы 2.
Тогда поля сначала будут передаваться со Страницы 1 на Страницу 2, затем со Страницы 2 на Страницу 3.
ТЕХНИЧЕСКАЯ ПОДДЕРЖКА
Напишите нам. на связи 24/7. Среднее время ожидания ответа: 10-15 минут. Также вы можете вступить в наш Телеграм-чат, где собралось много специалистов и пользователей.
Агенты ответят через 10 минут