Вообщем такая проблема, я на странице делаю отправку формы, через плагин 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 можно посмотреть в частности здесь.