Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не выполняется событие (https://javascript.ru/forum/misc/32150-ne-vypolnyaetsya-sobytie.html)

OklickSpb 04.10.2012 23:09

Не выполняется событие
 
Почему не рабоает вот этот код?

function test()
var input = $('<input name="nae" type="file" />'
).css({
position: 'relative',
display: 'block',
//marginLeft: -175+'px',
//opacity: 0
});
$("#div1").append(input);
//Так не работает
$(input).change();
//Так тоже не работает
input.change();
}


<input type="button" id="knopka" onclick="test()">
<div id="div1"></div>


Кнопка в диве появляется, все нормально, но событие не срабатывает...

Нужно что бы при нажатии на кнопку выскакивал выбор файла.
Но ничего не срабатывает...
То есть при нажатии на кнопку в id="knopka", срабатывало так, как быдто пользоватЭль нажал на сгенерированную...

Hoshinokoe 04.10.2012 23:38

OklickSpb,

Это не работает из-за политики безопасности. Нельзя никаким образом имитировать клик по <input type="file"/>.

bes 05.10.2012 09:49

<input type="file" style="position: absolute; left: -200px; top: -200px;">
<span onclick="this.previousSibling.previousSibling.click()">link</span>
</label>

http://javascript.ru/forum/misc/6798...tml#post189577

Hoshinokoe 06.10.2012 10:27

bes,

В твоем пример идет перенаправление клика пользователя, т.е. надо обязательно чтобы пользователь кликнул по элементу.

Программно клик никак не сымитируешь.

bes 06.10.2012 10:29

Hoshinokoe, чел просил
Цитата:

Сообщение от OklickSpb
Нужно что бы при нажатии на кнопку выскакивал выбор файла.


Hoshinokoe 06.10.2012 10:41

bes,

Извини, был невнимателен.

bes 06.10.2012 10:56

Цитата:

Сообщение от Hoshinokoe
т.е. надо обязательно чтобы пользователь кликнул по элементу.

onchange и события нажатия клавиш тоже подходят


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