У меня есть HTML-форма. При отправке он создает файл Excel и возвращает его. На всех других формах у меня есть экран загрузки, отображаемый в функции onSubmit
и скрытый в функции document.ready
, но когда возвращается файл, нет document.ready
, поэтому мой экран загрузки не скрывает.Экран загрузки jQuery в форме submit с ответом файла
Я пробовал плагин формы jQuery с функцией обратного вызова, но таким образом я не смог нормально показать страницу ответа на других формах. То же самое происходит с функцией $.post()
с обратным вызовом.
Все, что я хочу, - это вызвать функцию loadingScreenHide
, когда форма отправки завершена и оставить все остальное как обычно.
Любые идеи?
Спасибо.
Кода я судимый, как: с формой функцией плагина обратного вызова (возвращает истину, не кажется, работают.): $ ('формы') ajaxForm (функция() {activateDeactivateScreen ('скрытый'); возвращает истину; });
или с сообщением вместо: $ .post ($ ('form'). Attr ('action'), $ ('form'). Serialize(), function() {activateDeactivateScreen ('hidden'); return true;});
2 основные проблемы, когда я использую нормальный представить я не имею обратный вызов, и когда я получаю обратный вызов я не имею нагрузку нормально отправить/Страницу
я также имел представление об изменении своих страниц Java Server для сохранить файл временный и перенаправление загрузки, но таким образом я должен был бы изменить около 20-30 источников Java, поэтому я предпочел бы яваскрипт решения
Не могли бы вы высказать свой код, чтобы мы могли видеть процесс, который вы используете. –
Я предполагаю, что вы отправляете свои данные формы в PHP-скрипт или любой другой CGI-сервер. Он обрабатывает ваши данные и возвращает приложение/excel mimetype, что заставляет загружать, поскольку браузер не может анализировать exel-документы. Таким образом, ваша фактическая страница, на которой вы отправили форму, даже не изменится. Насколько я вижу, вы должны отправить свои данные через AJAX, временно сохранив exel-файл на своем сервере, верните ссылку на метод успеха вашего вызова AJAX. Эта ссылка может быть открыта с помощью 'document.location = link;' и снова принудительно загрузить. – buschtoens
@silvinci: я получаю эти файлы excel со многих разных страниц (20-30 различных сервлетов), поэтому изменение источников java было бы большой работой – Georg