Индиептор загрузки файлов С СЕРВЕРА!
Почему выделил именно слова С СЕРВЕРА, да потому что искал подобное в поисковиках, но наталкивался только на индикаторы загрузки файлов на сервер.
Вкратце опишу что хочу сделать... есть HTML страница с кнопкой <html> <body> <form action="download.php"> <input type="submit" value="получить данные"> </form> при нажатии на кнопку, появляется обычное виндовое окно, которое предлагает сохранить rar файл, который возвращает download.php. И вот проблема, этот самый rar файл, формируется довольно долго, в результате чего, пользователь сново и сново нажимает на кнопку "получить данные", в результате чего "валит сервер". И вот внимание мой вопрос, как заблокировать кнопку, пока не появилось это самое виндовое окно, для сохраниея файла! Если кому то что то непонятно, то пишите! |
<form action="download.php"> <input type="submit" value="получить данные" id="myinput" onclick="myfunc();return true;"> </form>
function myfunc()
{
myinput=document.getElementById("myinput")
myinput.disabled="disabled";//блокируем кнопку. возможно придется делать это через setAtribute
}
сижу в клубе, поэтому проверить код не могу, но как-то так оно должно работать. |
нет
Увы не все так просто, как казалось бы!(((
Жду еще предложений))) |
Скидывать заголовки в первую очередь (т.е. до начала генерации архива) не пробовали? В частности
Код:
Content-Disposition: attachment; filename=bla.rar |
Цитата:
|
Чем тогда решение Gvozd не устраивает?
|
Цитата:
|
неужели никто незнает как это сделать?(((
|
Вариант Gvozd должен работать. Если он не работает, выложите полный листинг вашего кода и будем разбираться дальше.
|
Извините, напутал. не на то событие повесил обработчик.
Вот так работает в Опере-ФайрФоксе-Осле(выкладываю полностью, во избежание) dowmload.php
<?
header("Content-type: application/zip");
header("attachment: filename=Plan_platezhey1.zip");
sleep(5);
echo "fff";
?>
1.htm
<html>
<head>
<script>
function myfunc()
{
myinput=document.getElementById("myinput")
myinput.disabled="disabled";//блокируем кнопку. возможно придется делать это через setAtribute
}
</script>
</head>
<body>
<form onsubmit="myfunc();return true;" action="download.php">
<input type="submit" value="получить данные" id="myinput">
</form>
</body>
</html>
|
| Часовой пояс GMT +3, время: 05:18. |