Пожалуйста помогите сделать такую штуку:
при переключением между шагом в многошаговой форме (вот как тут) (а у меня всего два шага),
после первого шага нужно сделать какбы задержку в секунд 10-15, и в идеале всплывающее окно "пожалуйста подождите, идет обработка информации ...", ну или не всплывающее, а просто снизу формы такое сообщение с гифкой-прогрессбаром..
както джава-скриптом может быть.. но вот как, и куда его пихать?
Комментарии
Тут всё это есть
Нет там этого. Вот здесь есть: FormAPI
У меня немного проще получилось, чем в приведенном на орге примере. В мультистепе-то уже стоит вызов аякса. Вот его и дописываем.
<?php
$form['actions']['next'] = array(
'#type' => 'submit',.
'#value' => 'Далее...',.
// На кнопку вешаем ajax-обработчик, который будет возвращать форму
// в ранее созданный <div id="meter-reading-form-wrapper"></div>
'#ajax' => array(
'wrapper' => 'meter-reading-form-wrapper',.
'callback' => 'meter_reading_ajax_callback',
'progress' => array(
'type' => 'throbber',
'message' => t("Подождите. Поиск номера лицевого счета в базе данных"),
),
'effect' => 'none',
),
);
?>
там чем стандартное поведение не устраивает?
В стандартном решении фраза "Подождите" не описывает полностью суть происходящих процессов и пользователю может быть не понятно, а чего это он так долго ждет. В моем случае при переходе между шагами именно происходит процесс обмена информацией со сторонним сервером и иногда может занимать длительное время. Кроме того это было требование заказчиков. Да и топикстратер как раз спрашивал о том, как вмешаться в процесс информирования. Я полностью корректно и на 100% ответил на вопрос. Мне самому было нужно. Искал здесь на сайте готовый рецепт, но пришлось лезть на org для самостоятельного изучения.
А вы с какой целью интересуетесь? Хотите рекомендовать нам не сметь трогать стандартное поведение?
Сообщение, как я вижу, вы сделали нужное стандартным способом в конструкторе формы. Поэтому и стало любопытно "а что вы ещё дописываете". И я не обратил внимание, что оригинальный вопрос из 2013 года.
Вы немного не поняли по контексту. На орге все нормально написано и даже более, чем... Но там именно просто про FormAPI (что логично). Просто топикстартер задавал свой вопрос конкретно применительно к ситуации с мультистепом. А в ситуации с мультистепом уже используется #ajax. И я привел пример того, как я настроил эту конструкцию и она получилась немного проще, чем в полном описании на орге.
А то, что вопрос был задан в 2013 году, так это не страшно. Это моя привычка (заставляю себя, если честно). Если нахожу вопрос по теме, которая меня интересует и на этот вопрос не было адекватного ответа, а я позже смог найти для себя решение, то вбиваю свое решение все равно. Вдруг, кому-то пригодится. Ведь мне уже много советов пригодилось с этого сайта. Пусть и от меня маленькая будет, но польза.
Скорее всего я не допонял ваш ответ.
Так как, на мой взгляд, добавление #ajax к кнопке сабмита, любую форму делает мультистеповой до тех пор пока ваш колбек возвращает форму или часть формы.
Сообщение задаётся в конструкторе.
А отображение попапом - это пара строчек стилей к блоку с крутилкой и сообщением, которые вынимают блок из потока и растягивают его поверх формы... Крутилка, кстати, тоже стилями заменяется на любую гифку или свегешку.