2013-09-11 5 views
2

Когда пользователь выбирает файлы для загрузки, я представляю одну из двух кнопок для принятия действий по файлам (-ам), исходя из количества файлов. Я получаю количество файлов, включая onchange=getNumFiles(this) в теге ввода файла.Загрузка файла HTML5 - onChange

Проблема заключается в том, что я скрываю кнопку, чтобы принимать меры над файлами после того, как пользователь нажимает на нее, и если пользователь дважды выбирает один и тот же файл (ы), кнопка не отображается повторно. Это происходит потому, что вход для загрузки файлов никогда не был изменен, потому что вход по-прежнему содержит исходный выбор файла. Как я могу объяснить это?

Есть ли способ очистить содержимое входного файла для загрузки файлов? Я пробовал установить значение в нулевое значение безрезультатно. Или есть другое событие, отличное от onchange, которое я должен использовать? надеюсь, что это имеет смысл ....

+0

Возможный дубликат [Как очистить входной файл HTML с помощью JavaScript?] (Https://stackoverflow.com/questions/1703228/how-can-i-clear-an-html-file-input-with- javascript) – Fraser

ответ

2

«Есть ли способ, чтобы очистить содержимое ввода загрузки файла»

Да, вызовите .reset() в форме.

$("#myform")[0].reset(); 

Теперь, если тот же самый файл выбран снова, он будет правильно инициировать событие изменения, так как он снова изменился ни с чем.

+0

именно то, что я искал. благодаря! –

+0

один вопрос, почему именно вам нужна нотация массива [0] для ссылок на формы? –

+1

Поскольку jQuery не имеет метода .reset(). .reset - это собственный метод, который все формы имеют, он обычно вызывается при нажатии кнопки ', при этом все входы возвращаются к значениям по умолчанию. –

Смежные вопросы