Здравствуйте!
Я только начинаю пробовать разбираться с javascript и с программированием в целом, поэтому заранее извиняюсь за кривые коды.
Задача такая: мне необходимо при клике на определенную кнопку создать новое поле загрузки картинки на сервер. Так же я хочу, чтобы поля выводили в столбик, т.е. под друг другом.
Сам код:
Код:
|
<head>
<title>Загрузка файлов на сервер</title>
</head>
<body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="http://localhost/add.php" id = "frm" method="post" enctype="multipart/form-data" name="firstform">
<input type="button" value='Добавить поле' onclick="newInput()"> <br>
<input type="file" name="fname[]"><br>
<input type="submit" value="Загрузить" id="firstinput"><br>
</form>
<script language="JavaScript">
function newInput() {
var firstform = document.getElementsById('frm')
var m=firstform.getElementsById('firstinput')
var newinput = document.createElement('input')
newinput.type = "file"
newinput.name = "fname[]"
firstform.insertBefore( newinput, m)
}
</script>
</body>
|
В этом случае ничего не выходит, поля не добавляются вообще.
Если я использую такой фрагмент:
function newInput() {
myform = document.forms['myform']
newinput = document.createElement('input')
newinput.type = "file"
newinput.name = "input[]"
myform.appendChild(newinput)
}
то все прекрасно создается,но поля выводятся не так как мне нужно.
Первое добавляемое поле появляется по кнопкой "загрузить", а следующие справа от него и так далее.
Что не так в первом коде? Как же мне всё-таки расположить их под друг другом?
Заранее спасибо!