|
свой метод click()
Здравствуйте
<input type="file" id="fileElem" multiple accept="image/*" style="display:none" onchange="handleFiles(this.files)"> <a href="#" id="fileSelect">Select some files</a> При клике на ссылку fileSelect запускаю функцию а в ней document.getElementById("fileElem").click(); что с свою очередь эмитирует нажатие на input с типом file. Все это для того чтобы скрыть некрасивую форму загрузки файлов. У jquery есть метод click(). Как на чистом js написать этот метод и что мне для этого нужно делал так document.getElementById("fileElem").onclick; но не выходит, да и мыслей никаких нет |
я делал это так: внизу по слоям идет красивая кнопочка, а поверх прозрачный итем и файлом.. какбы нажимается кнопочка, но на самом деле идет клик итема
|
skrudjmakdak спасибо, но в моем случае input один а красивых кнопочек будет n-количество(попап окна)
Да и для расширения кругозора хочу научиться писать свой метод клик |
тоже как то хотел сделать как вы, но мне сказали что это вроде не кроссбраузерно.. лично сам не проверял, утверждать не буду
|
вот, даже extjs так делает, как я сказал))
http://docs.sencha.com/extjs/4.1.3/e...le-upload.html |
Может подскажите в какую сторону хоть копать, я не знаю даже с чего ночать.
А на счет кроссбраузерности, если не ошибаюсь реализация на jquery кроссбраузерна |
вот, набросал
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <style type="text/css"> .input_file { position: relative; width: 200px; height: 30px; } .text { position: absolute; top: 0px; left: 0px; width: 130px; height: 24px; } .button { position: absolute; top: 0px; right: 0px; width: 60px; height: 30px; } .file { height: 30px; width: 200px; position: absolute; top: 0px; left: 0px; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0); -moz-opacity: 0; -khtml-opacity: 0; opacity: 0; } </style> </head> <body> <form method="post" action="/login.php"> <div class="input_file"> <input type="text" class="text"> <div class="button">выбрать</div> <input type="file" class="file"> </div> </form> </body> </html> |
а как свой click() написать не подскажите? хоть что нибудь от чего можно оттолкнуться
|
Цитата:
|
input[type="file"] { position: absolute; visibility: hidden; z-index: -100; } <div> <input type="file" /> <input onclick="fileLoad(this)" type="button" value="Загрузить файл" /> </div> function fileLoad(a) { a.parentNode.getElementsByTagName('input')[0].click(); } |
Часовой пояс GMT +3, время: 11:59. |
|