Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   как открыть окно для загрузки файла из JS? (http://forum.oszone.net/showthread.php?t=79438)

Vlad Drakula 16-02-2007 13:16 550827

как открыть окно для загрузки файла из JS?
 
как открыть окно для загрузки файла из JS?

задача простая:
есть инпут в форме который отвечает за загрузку файла
нужно сделать другую кнопку которая открывала дислог выбора файла также как еслибы клинкули на кнопке соответсвующего инпута.

как то раньше я находил подобные рещения в поисковиках, а сейчас ничего не смог найти :(

XCodeR 16-02-2007 15:34 550877

Vlad Drakula
а в чем "надобность" то?
как вариант(первое, что пришло в голову):

HTML код:

<html>
<body>
<form name=f1>
<input type="file" name="el1">
</form>
<a href=# onclick=document.forms['f1'].elements['el1'].click()>Open File Dialog</a>
</body>
</html>

возможно можно как-то использовать execCommand(); (?)

P.S. как выяснилось, работает только в IE.

Vlad Drakula 16-02-2007 16:01 550900

XCodeR
вообще вполне достаточно чтобы работало только в IE...

Vlad Drakula 16-02-2007 17:29 550942

XCodeR
низя так делать, форма не отправится...

XCodeR 16-02-2007 18:24 550968

да, действительно. интересно только почему?
можно использовать 2 формы, если прямого пути не найдется)

Vlad Drakula 16-02-2007 19:44 551010

XCodeR
т.е. две форму?

XCodeR 16-02-2007 22:36 551385

т.е. идея таже что я писал выше. просто кнопка Submit относится к другой форме, а перед отправкой в ее <input type=file> вставляется значение из первой формы.
понтное дело, что второй инпут-файл надо скрыть через css.

криво, но может и заработает.

Vlad Drakula 16-02-2007 22:39 551387

XCodeR
а это даже в терии не может заработать, даже пробовать не имеет смысла

Prisoner 17-02-2007 04:39 551463

Почему же? Достаточно клонировать ноду input type=file... ну или всю форму.

Vlad Drakula 17-02-2007 10:43 551513

Prisoner
настройки системной безопасности.

Prisoner 19-02-2007 11:38 552337

Более жесткие чем по умолчанию? К примеру JsHttpRequest от DK делает это довольно успешно.

Vlad Drakula 19-02-2007 13:31 552405

Prisoner
JsHttpRequest может загрузить файл с локального диска на сервер?

Prisoner 19-02-2007 14:39 552437

Хм... вопрос довольно таки размыт, однако автор описывает возможность ajax-аплоада файлов силами библиотеки.

Vlad Drakula 19-02-2007 14:45 552440

Prisoner
любая возможность загрузки файлов с машины пользователя чисто на JS это огромная дыра в системной безопасности!

Prisoner 19-02-2007 18:13 552535

Разумеется. Да я не об этом, сказано было к вопросу о клонировании нод. Гляньте код.

Vlad Drakula 20-02-2007 10:46 552801

Prisoner
я говорю не поможет, а если и сработает то это будет багом и его рано или поздно исправят.
дело в том что импут для загрузки файла это совершенно не инмут для ввода текста и ряд вещей которые можно делдать с текстовыми инпутами не проходит для файловых инпутов!

XCodeR 20-02-2007 17:56 553014

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

Vlad Drakula 20-02-2007 23:16 553147

XCodeR
HTA это уже другой вопрос... мне наверное его еще предстоит изучать как и JScript

на самом деле решение уже найдено и в недрено...

суть в том что инпут для ввода файла делается прозрачным и размещается нат тем местом где вы хотите отлавливать клик.
вы как бы кликаете по кнопке но на самом деле вы кликаете по прозрачному импуту...

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

Prisoner 21-02-2007 03:17 553188

Цитата:

Prisoner
я говорю не поможет, а если и сработает то это будет багом и его рано или поздно исправят.
дело в том что импут для загрузки файла это совершенно не инмут для ввода текста и ряд вещей которые можно делдать с текстовыми инпутами не проходит для файловых инпутов!
Решать, в конечном счете, только Вам. Можно подождать когда эту возможность отнесут к багам и закроют :).

vadimiron 21-02-2007 16:41 553526

Vlad Drakula
А если указать src в инпуте и путь к рисунку, тогда кнопочка рисунком может быть заменится?
Или вопрос не про это??

Vlad Drakula 21-02-2007 16:51 553534

vadimiron
там еще и кастомный текст и шрифт и чтобы текстового инпута не видно было...

vadimiron 21-02-2007 17:16 553547

Цитата:

чтобы текстового инпута не видно было
Вау, как всё непросто :)
Когда всё решится - обязательнопости решение - интересно

Vlad Drakula 21-02-2007 17:57 553560

vadimiron
все уже давно сделано, но только вот показать не могу т.к. нужно показывать в составе все системмы.... вродле в марте мы ее выложим в беттах... вот тогда можно будет на многое посмотреть.... (как говорится продукция гугль отдыхает!)

vadimiron 21-02-2007 18:42 553582

Vlad Drakula
ждём-с :)

XCodeR 21-02-2007 21:14 553625

Цитата:

(как говорится продукция гугль отдыхает!)
ждем, надеемся, верим!

Vlad Drakula 22-02-2007 13:04 553880

vadimiron, XCodeR
очень много уже людей ждут, но дата выхода в свет зависит не только от меня!


Время: 07:42.

Время: 07:42.
© OSzone.net 2001-