Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Найти lastChild (type=file) и вызвать его клик (https://javascript.ru/forum/dom-window/36354-najjti-lastchild-type%3Dfile-i-vyzvat-ego-klik.html)

Snake22 13.03.2013 00:26

Найти lastChild (type=file) и вызвать его клик
 
Работаю над динамическим изменением кнопочек выбора файлов (input type="file")
Значит есть у меня <span id="filelist">
и в нём список файлов
<input type="file" multiple="true" name="OpDialog" >
<input type="file" multiple="true" name="OpDialog" >
и тд...
и есть кнопка "Ещё" которая через innerHTML добавляет ещё один file.
Сейчас работает всё так:
нажимаю кнопку "ещё" -> добавляется новый 'инпут файл' -> нажимаю на него и появляется сам диалог выбора файла.
хочу же сделать всё в один клик, то есть нажимаю "ещё" и добавляется 'инпут файл' и сразу появляется диалоговое окно выбора файла.
пробовал так но не работает.
function IncFiles() <!-- Скрипт увеличения полей выбора файла -->
{ 
var filelist=document.getElementById('filelist'); // Получаем указатель на форму с файлами
var newfile = document.createElement('span');    // Создаем новый элемент
filelist.appendChild(newfile);    // Вставляем его в конец формы с файлами
var data="</br><input type='file'   multiple=true name='OpDialog' />";
newfile.innerHTML=data;
filecount++;
if (filecount==1) // если у нас только один файл то прячем кнопку удаления файлов
   document.getElementById('remove_file').style.display='inline';
//кликаем на последний добавленный файл
var tmp= filelist.lastChild;    // Выбираем последний дочерний элемент формы с файлами(это будет наш добавленный инпут файл)
tmp.Click();//нажимаем его 
return false;
}

собственно скрипт не работает на строке 13
tmp.Click();//нажимаем его

помогите пожалуйста

dmitriymar 13.03.2013 00:58

Цитата:

Сообщение от Snake22
tmp.Click();//нажимаем его

не нажимаем его , а вызываем пользовательский обработчик нажатия

Snake22 13.03.2013 01:00

Цитата:

Сообщение от dmitriymar
не нажимаем его , а вызываем пользовательский обработчик нажатия

а как же тогда вызвать его родной обработчик? который покажет диалог выбора.


Часовой пояс GMT +3, время: 05:42.