Сообщение от javascript_pupil
|
с appendChild() у меня почему-то не получилось
|
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<script type="text/javascript">
function addField() {
var fieldset = document.getElementById("file2upload");
var firstField = fieldset.querySelector('.field');
var clonedField = firstField.cloneNode(true);
clonedField.value = '';
fieldset.appendChild(clonedField);
}
</script>
<title>Title</title>
</head>
<body>
<form method="post" action="/upload.cgi" enctype="multipart/form-data">
Загрузить файл: <div id="file2upload">
<div class="field">
<input type="file" multiple="multiple" name="upload_file" size="50" />
</div>
</div>
<br><a href="#" onClick="addField(); return false;">Добавить поля</a>
<input type="submit" name="abc" value="Загрузить"></form>
</body>
</html>
При клонировании инпута его value также сохраняется. Поэтому нужно очистить .value, но тут проблемка - старые IE не дают менять value на файловых инпутах. Но тут можно что-нибудь придумать.