Просмотр поста

.
blackvj

Вообщем простое решение для тех, кто нашёл эту тему с интернета и не знает как с этим быть.

К примеру у Вас есть input type="file" и его нужно очистить после выгрузки без перезагрузки страницы, но он у Вас находится в определённом месте на сайте.

Тогда делаем так:

1. Размещаем в нужном нам месте где будет input невидимый элемент 
echo '<span id="ff"></span>'; ## имя ff взято произвольно

2. При создании DOM создаём наш input в элементе ff
echo '<script language="JavaScript" type="text/javascript">  
$(document).ready(function(){
$("#ff").append(\'<input type="file" id="files" name="upload_file"/><br/>\');
});
</script>';

3. После выполнения выгрузки файла в java-script, (функция которая отправляет через ajax файл, в момент возвращения результата, добавляем в неё эти строчки.)

$("#files").remove(); // Удаляем наш input после выгрузки файла
$("#ff").append(\'<input type="file" id="files" name="upload_file"/><br/>\'); // И создаём новый чистый input

Тем самым пересоздав элемент input type="file" с чистым полем ввода файла.

Это единственный правильный вариант решения этой проблемы. Надеюсь кому-то поможет как и мне.


Обращаю внимание на изменённый name="upload_file" в input! Его вы должны будуте изменить под свой.