Загрузка неограниченного кол-ва файлов на сервер

makvik

Новичок
спасибо. не знал.

Но мой вопрос остался без ответа. Что делать с пропадающим значением поля при добавлении нового.
 

Wicked

Новичок
document.getElementById('files').innerHTML+='<input type="file" id="dfdsf" /> <br/>';
Спасибо, работает. Только вот одна проблема ещё.. Если я выбрал файл в поле file1, а потом решил загрузить ещё один файл кликнул по ссылке "ещё один файл", появляется второе поле - file2. Но значение в поле file1 теряется. т.е. file1.value== '';
Проблема, как мне видится, в следующем:
Когда ты делаешь +=, то "дописывание" происходит только на уровне работы со строкой.
На самом деле происходит вот что:
1) все дочерние элементы элемента files - убиваются.
2) парсится его новое значение innerHtml.
3) из распарсенного innerHtml создаются новые элементы (читай: поля ввода).

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

fast2111

Новичок
Wicked спасибо за разжеванный ответ про блоггер
makvik Не ленись попробуй через DOM Api и вообще если у тебя
PHP:
counter = 1;
function add() 
{
counter++;
....
}
То file_1 == undefined

ZigFreeD я сам не асс и сам учусь но в моем малом опыте было что IE и даже Opera не отрабатывали innerHTML = "<table></table>", и я решил через DOM и счетаю это правильно, даже Mozilla мне постоянно рекомендует использовать вместо document.elem_name.value конструкцию document.getElementById() :)
и в Prototype $() насколько помню есть document.getElementById()
 

makvik

Новичок
с file_1 всё нормально. Оно вбито вручную =)))

-~{}~ 24.10.07 21:55:

Автор оригинала: Wicked
Проблема, как мне видится, в следующем:
Когда ты делаешь +=, то "дописывание" происходит только на уровне работы со строкой.
На самом деле происходит вот что:
1) все дочерние элементы элемента files - убиваются.
2) парсится его новое значение innerHtml.
3) из распарсенного innerHtml создаются новые элементы (читай: поля ввода).

Т.е., короче говоря, при каждом добавлении нового поля ввода, все остальные поля ввода тоже пересоздаются.
Но на рамблере как-то же сделали аналогичный функционал, но без стирания значений. Пытался вникнуть в js код скачанный с рамблера - бесполезно ))
 
Сверху