IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Вопрос по JavaScript (https://www.imho.ws/showthread.php?t=102371)

RHSC 16.04.2006 12:22

Вопрос по JavaScript
 
Помогите средствами JavaScript решить следующую задачу:

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

Поле файлов(<input type="file" name="file1">) | кнопка”-“ | кнопка “+”

При нажатии на кнопку “+” появляется еще одно поле файла(<input type="file" name="file2">):

Поле файлов(<input type="file" name="file1">) | кнопка”-“ | кнопка “+”
Поле файлов(<input type="file" name="file2">) | кнопка”-“ | кнопка “+”

Подобная система есть в почте Яндекса для прикрепления файлов. Надеюсь кто-нибудь поможет, я в JavaScripte полный ноль. Заранее благодарен.

Naked 16.04.2006 13:33

Если ниже после этих полей ничего нет, то, вроде можно сделать так: по клику вызывать функцию, в которой соответственно написать:
Цитата:

<script>
function add_el(){
text = "<input type=text name=asd>";
document.write (text);
}
</script>
<input type=submit name=submit value=Make onClick="add_el();">
а если внизу что-то есть, то может лучше будет сделать сначала несколько элементов скрытых, а потом их открывать...:
element.style.display = "none";, где element - id для того, что нужно скрыть/открыть, т.е. для <input>'а

RHSC 16.04.2006 14:27

The_naked Спасибо, что проявил интерес к моему вопросу. А почему исчезает все содержимое страницы, когда появляется поле файлов при обращении к функции add_el()? Может ты какой-нибудь форум подскажешь по JavaScript ? Я там посмотрю, может найду какую-нибудь подсказку.

Naked 16.04.2006 16:25

Цитата:

RHSC:
А почему исчезает все содержимое страницы, когда появляется поле файлов при обращении к функции add_el()?
Если к тому тексту в начало прибавить еще все, что было (тока я не помню как этот элемент называется), то будет все нормально, но вообще лучше разбериь со второй частью - т.е. со скрытием элементов, имхо, это лучше, чем пририсовывать новый, по крайней мере я так делал, было нормально, и еще, лучше в name пиши допустим file[], чтобы на выходе массив появился, потом его обрабатывать будет легче;)

savad 24.04.2006 22:17

2 RHSC
а почему бы не подсмотреть реализацию на yandex.

А вообще по реализации, imho, т.к. количество заранее не известно, то вариант со скрытием, как то не хорошо, а вдруг не хватит?
IMHO, лучше запихнуть в таблицу первый input он же будет как образец, и затем при "+", делать cloneNode(true) строки образца, для создания нового поля ввода.
Ну а для управления всем этим хозяйством, можно запихнуть таблицу input в div с соответствующим свойством overflow.

R(эйч)SC 29.04.2006 09:52

2 savad
Спасибо за помощь :yees: . Я хотел подсмотреть на Яндексе, но насколько я понял этот код находится в каком-то файле, который у меня не сохраняется. Варинт со скрытием не очень подходит, так как кому-то захочется добавить 1 картинку, а кому-то 150. Сейчас попробую сделать как ты советуешь, если моих познаний в JavaScripte хватит... :)

R(эйч)SC 29.04.2006 15:13

Сделал как написано здесь :

http://community.livejournal.com/ru_coding/225536.html

Все отлично работает. Всем спасибо за помощь. :yees:


Часовой пояс GMT +4, время: 23:41.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.