Вообщем такая проблема, я на странице делаю отправку формы, через плагин mpdf у меня формируется документ и я возвращаю файл который человек сохраняет, проблема в том, что пока документ формируется может пройти некоторое время, и человек может снова нажать кнопку, да я могу её заблокировать, но как поймать конец этого формирования, чтобы разблокировать кнопку. Для формирования документа использую отдельный action.
Попробуйте сделать отправку формы AJAX.
После отправки разумеется кнопку блокируйте. Когда же обработка на сервере закончится, будет вызвано событие в обработчике которого Вы сможете разблокировать кнопку.
Пример на jQuery для обработчика события beforeSubmit
формы:
$.ajax({
// Метод отправки данных (тип запроса)
type : 'post',
// URL для отправки запроса
url : my_url,
// Данные формы
data : my_data
}).done(function(data) {
if (data.error == null) {
// Если ответ сервера успешно получен
} else {
// Если при обработке данных на сервере произошла ошибка
}
}).fail(function() {
// Если произошла ошибка при отправке запроса
})
Вызовы метода on
и documentReady
здесь опущены.
Более полный пример, который иллюстрирует основные принципы работы с AJAX в Yii можно посмотреть в частности здесь.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
правильно ли выбрасывать исключение, если у метода задано возвращаемое значения ? Могут ли быть ошибки ?
Пишу на Java Spring и постоянно натыкаюсь на проблему того, что не понимаю в каком случае проект необходимо перекомпилировать, а в каком не нужно