Nechto
27.05.2009 - 19:04
Здравствуйте.
Подскажите пожалуйста как создать и удалить
HTML |
<input type='file' name='file_1' id='file_1'>
|
Хочу сделать динамический набор файлов, т.е. при помощи ссылки создавать/удалять тегов file столько сколько надо пользователю.
Зду с нетерпеним ответов.
Nechto
27.05.2009 - 19:20
Подскажите пожалуйста как создать и удалить тег
к примеру
HTML |
<input type='file' name='file_1' id='file_1'>
|
Хочу сделать динамический набор файлов, т.е. при помощи ссылки создавать/удалять теги file столько потребуется пользователю.
FatCat
27.05.2009 - 19:35
А зачем тут аякс?
Обычным методом innerHTML += создаете новый див, затем тем же методом в новый див вписываете новый инпут - вот и создание. Для удаления очищаете содержимое дива тем же методом...
_____________
Бесплатному сыру в дырки не заглядывают...
Nechto
27.05.2009 - 20:23
их же надо удалять по отдельности а не все сразу
FatCat
27.05.2009 - 23:32
Цитата (Nechto @ 27.05.2009 - 19:23) |
их же надо удалять по отдельности а не все сразу |
Ну да. Для того и морока с созданием дива, а уже в нем инпута.
Начальная ХТМЛ:с труктура:
HTML |
<статичный див>
</статичный див> |
Каждое поле инпута создается в 2 этапа. На первом этапе статичному диву создается динамический див:
HTML |
<статичный див> <динамический див 1></динамический див 1> </статичный див> |
На втором этапе динамическому диву создается динамический инпут:
HTML |
<статичный див> <динамический див 1><динамический инпут 1><команда удаления 1></динамический див 1> </статичный див> |
Если нужен второй инпут, те же 2 шага дадут:
HTML |
<статичный див> <динамический див 1><динамический инпут 1><команда удаления 1></динамический див 1> <динамический див 2><динамический инпут 2><команда удаления 2></динамический див 2> </статичный див> |
При выполнении команды удаления (опирается на динамический див) сам див удален не будет, он просто останется пустым:
HTML |
<статичный див> <динамический див 1><динамический инпут 1><команда удаления 1></динамический див 1> <динамический див 2></динамический див 2> </статичный див> |
_____________
Бесплатному сыру в дырки не заглядывают...
Nechto
28.05.2009 - 21:21
Цитата |
При выполнении команды удаления (опирается на динамический див) сам див удален не будет, он просто останется пустым:HTML |
Я попробывал сделать как ты говорил но нечего не вышло, Дивы остаются а ID поля дивав в этоги начинают дублироваться, вызывая ошибку JavaScript
FatCat
28.05.2009 - 22:12
Цитата (Nechto @ 28.05.2009 - 20:21) |
ID поля дивав в этоги начинают дублироваться |
Сделать рандомные айдишники дивам не догадались?
_____________
Бесплатному сыру в дырки не заглядывают...
glock18
29.05.2009 - 09:55
Есть варианты:
1. Удалять сам input, а не очищать родительский див.
2. Скрывать input при помощи display: none и устанавливать ему атрибут disabled="disabled".
динамическа релизация...
for(var i=0;i<5;i++){
count++;
var input=document.createElement('input');
input.id = i;
input.setAttribute('type','text');
input.setAttribute('id',count);
input.setAttribute('class','field_text');
input.setAttribute('name',Names[i]+'[]');
newdiv.appendChild(input);
}
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.