imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 16.07.2005, 19:55     # 1
savad
Newbie
 
Регистрация: 16.07.2005
Сообщения: 19

savad Путь к славе только начался
Как узнать в IE, что сервер отработал SUBMIT

Задача, заблокировать реакцию на submit (формы), пока сервером не отработан предыдущий запрос. Народ плз подскажите. как?

1. Страница содержит:
<form name='frm' method='post' action='' target=''>
<input type='hidden' value='report' name='what'>
<input name='btnExecute' type='submit' value='Выполнить' onClick='this.disabled=true;return true;'>
</form>

2. Пользователь нажимает btnExecute, кнопка блокируется и форма отсылается на сервер
3. Сервер, формирует отчет (excel) и ответ вида
HTTP/1.1 200 OK
Content-Length: 1024
Content-Type: application/x-msexcel
Content-Disposition: attachment; filename=report.xls

4. т.к. target пустышка, то IE не порождая нового окна (и не обновляя текущего (Content-Type: application/x-msexcel)) открывает диалог “Загрузка файла”
5. так вот на этом шаге, хотелось бы как то узнать (по событию или изменению какого либо свойства), что сервер отработал и сделать btnExecute.disabled = false

Спасибо!

-----
пока сделал так:

IE->Server
POST /acme/process HTTP/1.1
Cookie: xxx=0

Server->IE
HTTP/1.1 200 OK
Set-Cookie: xxx=1

a в IE мониторю Cookie

Последний раз редактировалось savad; 24.07.2005 в 22:11.
savad вне форума  
Старый 26.07.2005, 01:25     # 2
Panoramus
Guest
 
Сообщения: n/a

мало что понятно
как открывается надпись про загрузку, на submit повшено или на ответ какой-то. у тебя уже ajax пошёл.
вот почитай
http://www.webplanet.ru/news/interne.../5/3/ajax.html
 
Старый 26.07.2005, 23:57     # 3
savad
Newbie
 
Регистрация: 16.07.2005
Сообщения: 19

savad Путь к славе только начался
Цитата:
как открывается надпись про загрузку
Это стандартный диалог загрузки файла. Ситуации примерно аналогично, когда кликаешь на ссылку, указывающую например file.zip. Только у меня это report.xls - файл отчета формируется динамически (БД несколько млн. записей), время от 30 сек. до нескольких минут. Так вот, что бы пользователь несколько раз не сделал сабмит, делается onClick='this.disabled=true;return true;'
savad вне форума  
Старый 27.07.2005, 11:47     # 4
Kvazi
Newbie
 
Регистрация: 24.01.2005
Сообщения: 24

Kvazi Путь к славе только начался
Возможно тебе поможет способ описаный в этой статье
Kvazi вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 14:53.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.