Поле для загрузки файлов

Att

Новичок
Поле для загрузки файлов

Вопрос больше по JavaScript
Необходимо сделать поле для загрузки нескольких файлов. Только не просто вывести какое-то ограниченное количество полей, а сделать одно, и чтобы пользователь мог бы по желанию добавлять еще, но без перезагрузки страницы.
Нашел подобие в форме отправки писем на Яндексе, только вот не могу разобраться какие name он формирует.
Вот код:
PHP:
<script language="javascript" type="text/javascript">
function dropFile(btn){
	if(document.getElementById) {
		tr = btn;
		while (tr.tagName != 'TR') 
		tr = tr.parentNode;
		tr.parentNode.removeChild(tr);
		checkForLast();
	} 
}
function addFile(btn){
	if(document.getElementById) {
		tr = btn;
		while (tr.tagName != 'TR')
		 tr = tr.parentNode;
		var idSuffix = Math.round(Math.random()*1000);
		var newTr = tr.parentNode.insertBefore(tr.cloneNode(true),tr.nextSibling);
		thisChilds = newTr.getElementsByTagName('td');
		for (var i = 0; i < thisChilds.length; i++){
			if (thisChilds[i].className == 'header') thisChilds[i].innerHTML = '';
			if (thisChilds[i].className == 'files') thisChilds[i].innerHTML = '<input type="file" name="image" size="40">';
		}
		checkForLast();
	}
}
function checkForLast(){
	btns = document.getElementsByName('drop');
	for (i = 0; i < btns.length; i++){
	btns[i].disabled = (btns.length == 1) ? true : false;
	}
}
</script>
<TABLE cellspacing="0" cellpadding="2" width="100%" border="0">
<TR>
	<TD width="90%">
		<INPUT type="file" size="40" name="image">
	</TD>
	<TD nowrap>
		<INPUT onclick="dropFile(this);" type="button" value=" &#8722; " name="drop" disabled>
		<INPUT onclick="addFile(this);" type="button" value=" + ">
	</TD>
</TR>
</TABLE>
Пробовал обрабатывать данные как
PHP:
$_FILES['image']['name'][$i]
загружает только последний файл из формы.
Подскажите, либо какого формата передается атрибут name, либо алтернативный код, для генерации формы (с форматом name="image").
 

Att

Новичок
Re: Поле для загрузки файлов

Помучился ночь, но сделал сам...
PHP:
<script language="javascript" type="text/javascript">
var numb;
numb = 0;
function add_row() { //Добавляет строку
  var currow;
  currow = document.all.upFiles.rows.length; // вычислить количество строк в таблице
  if(currow < 5) {  //если строк меньше 5, то можно добавлять
    numb++;
    document.all.upFiles.insertRow(currow);
    document.all.upFiles.rows[currow].insertCell(0);
    document.all.upFiles.rows[currow].insertCell(1);
    // вставляем в ячейки поля формы
    document.all.upFiles.rows[currow].cells[0].innerHTML = '<INPUT type="file" name="userfile['+ numb +']">';
  }
}
function remove_row() { //Удаляет строку
  var delrow;
  delrow = document.all.upFiles.rows.length-1; // вычислить количество строк в таблице
  if(delrow >= 1) document.all.upFiles.deleteRow(delrow); // удаляем строку, если она не единственная
}
</script>

<TABLE border="0" cellspacing="2" cellpadding="0" width="100%" id="upFiles">
<TR>
  <TD style="width: 480px;">
    <INPUT type="file" name="userfile[0]">
  </TD>
  <TD nowrap>
    <INPUT onclick="remove_row();" type="button" value=" &minus; "> 
    <INPUT onclick="add_row();" type="button" value=" + ">
  </TD>
</TR>
</TABLE>
передает $userfile[$i], как и хотелось :)
 
Сверху