powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как очистить форму после сохранения файла
7 сообщений из 7, страница 1 из 1
Как очистить форму после сохранения файла
    #39384899
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Есть форма с input type="file". Пользователь выбирает файл и нажимает на кнопку "Отправить".
В результате в браузер "выплевывается" excel-файл с помощью вот таких заголовков:

Код: php
1.
2.
3.
4.
5.
6.
header ( "Expires: Mon, 1 Apr 1974 05:00:00 GMT" );
header ( "Last-Modified: " . gmdate( "D,d M YH:i:s" ) . " GMT" );
header ( "Cache-Control: no-cache, must-revalidate" );
header ( "Pragma: no-cache" );
header ( "Content-type: application/vnd.ms-excel" );
header ( "Content-Disposition: attachment; filename=" . time() . ".xls" );



Проблема в том, что при таком подходе файл остается в инпуте, и если после сохранения файла повторно нажать на кнопку - произойдет повторное сохранение. Мне нужно как-то очистить содержимое контрола. Никакие хедеры, например
Код: php
1.
header( 'Location: ...' );


после
Код: php
1.
header ( "Content-Disposition: attachment; filename=" . time() . ".xls" );


уже не работают.

И что еще интересно: в адресной строке адрес не меняется, даже если в acction формы указан адрес, отличающийся от того, где мы находимся.
Вопрос: как сделать поле пустым после сохранения файла?
...
Рейтинг: 0 / 0
Как очистить форму после сохранения файла
    #39385077
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если правильно понял, в процессе оных действий веб-страница не перезагружается, а потому и повода для очистки полей формы у браузера нет. Можно посмотреть в сторону яваскриптов для решения проблемы. Или же, разбить обработку на несколько фаз, среди которых будет перезагрузка страницы.

urukhayИ что еще интересно: в адресной строке адрес не меняется, даже если в acction формы указан адрес, отличающийся от того, где мы находимся.Ничего странного - по запросу веб-страница с сервера не пришла, пришел файл для сохранения.
...
Рейтинг: 0 / 0
Как очистить форму после сохранения файла
    #39385135
sxq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант поставьте кнопку reset
<input type="reset" value="Очистить">
сделайте ее невидимой, как завершится передача файла, при помощи JS "нажмите" на нее, вся форма будет очищена, включая поле выбора файла.
...
Рейтинг: 0 / 0
Как очистить форму после сохранения файла
    #39385136
sxq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у самой формы так же есть метод reset()
работает аналогично кнопке reset
...
Рейтинг: 0 / 0
Как очистить форму после сохранения файла
    #39385154
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторв процессе оных действий веб-страница не перезагружается
А как она может не перезагружаться? Файл-то приходит с сервера ...

Попробую разбить на этапы. Чуть позже отпишусь.
С ресетом тоже вариант, но почему-то этапность мне нравится больше ...
Сам не знаю почему ))
...
Рейтинг: 0 / 0
Как очистить форму после сохранения файла
    #39385191
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhayавторв процессе оных действий веб-страница не перезагружается
А как она может не перезагружаться? Файл-то приходит с сервера ...Так приходящий файл не для отображения в браузере, а для сохранения на диск. А вот веб-странички для отображения не пришло. Потому и нет повода что-то делать с существующей страницей.
...
Рейтинг: 0 / 0
Как очистить форму после сохранения файла
    #39385335
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял, спасибо!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как очистить форму после сохранения файла
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]