GWT fileupload - PullRequest
       7

GWT fileupload

2 голосов
/ 11 марта 2009

Я хотел бы вызвать нажатие кнопки обзора на скрытом виджете FileUpload. Следующий код отлично работает в IE 6+, но не работает в FireFox.

final FileUpload upload = new FileUpload(); 

upload.setVisible(false);
upload.setName("uploadFormElement"); 
panel.add(upload);

panel.add( new Button("Select File", new ClickListener()
{ public void onClick(Widget pSender) 
{ jsClickUpload( upload.getElement() ); } }));

native void jsClickUpload( Element pElement ) /*-{ pElement.click(); }-*/; 

Как мне добиться того же в FireFox (и, возможно, в других браузерах)?

Ответы [ 3 ]

1 голос
/ 11 марта 2009

Решение можно прочитать здесь:

http://www.quirksmode.org/dom/inputfile.html

в последнем абзаце:

Метод click () позволяет вам симулировать щелчок по полю формы. Флажки переключаются, радио выбран и так далее. к несчастью Mozilla и Opera не добавили это метод для загрузки файлов полей. Я думаю почему, добавив это не совсем риск безопасности, так как худшее, что может случается так, что выбор файла окно всплывает.

0 голосов
/ 05 октября 2010

Метод click в настоящее время внедряется в FF 4. Обсуждается, какие правила безопасности будут реализованы, и похоже, что он будет похож на Window.open и должен быть прямым результатом действий пользователя. а не таймер или загрузка.

0 голосов
/ 11 марта 2009

вы пытались вызвать метод onClick () напрямую?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...