пытаясь сгенерировать больше полей загрузки файлов с уникальными именами, используя JavaScript - PullRequest
1 голос
/ 09 августа 2011

Мне удалось создать кнопку, которая добавляет поле загрузки файла, кнопку, которая удаляет поле загрузки файла, и счетчик, который отслеживает общее количество полей загрузки файла. Проблема в том, что поля не имеют уникальных имен. Поля должны иметь имена img1, img2, img3 и т. Д. Я вижу, что они не работают, потому что файлы не были загружены в таблицу SQL.

Вот мой JavaScript и HTML:

<script type="text/javascript">
var counter = 0;
function init(){
document.getElementById("counter").value=counter;
}
function add(){
counter++;
if (counter > 10){counter = 10;
}
else{
document.getElementById("counter").value=counter;
document.getElementById("addimg").innerHTML+="<input type='file' name='img'+counter>"+"<br>";}
}
function remove(){
counter--;
if (counter <= 0){counter = 0;}
document.getElementById("counter").value=counter;
document.getElementById("addimg").innerHTML="";
for (var i=1;i<=counter;i++)
{
document.getElementById("addimg").innerHTML+="<input type='file' name='img'+i>"+"<br>";
}
}
</script>


<body onLoad = "init()">
<button onClick="add()" >Add Photo</button>
<button onClick="remove()" >Remove a Photo</button><br>
<form method="POST" enctype='multipart/form-data'>
<div id="addimg">
</div>
<input type="text" id="counter" name="counter" value="">
<input type="submit" name="submit" value="submit">
</form>


</body>

1 Ответ

1 голос
/ 09 августа 2011

Посмотрите эту строку:

document.getElementById("addimg").innerHTML+=
   "<input type='file' name='img'+counter>"+"<br>";}

counter не будет частью name

Используйте

document.getElementById("addimg").innerHTML+=
    "<input type='file' name='img"+counter+"' /> <br/>";}

Та же ошибка в этой строке:

document.getElementById("addimg").innerHTML+="<input type='file' name='img'+i>"+"<br>";
...