我正在尝试创建一个简单的Button,当它被单击时,我想触发一个隐藏的FileUpload小部件,它位于一个FormPanel内。到目前为止我所做的是两件事:
任何人都可以帮我吗???我搜索了很多,但我发现什么都没有用。
答案 0 :(得分:11)
myFileUpload.getElement().<InputElement>cast().click()
是您正在寻找的。 p>
要使其在基于WebKit的浏览器(Chrome,Safari)中运行,必须将FileUpload“移出视图”但不隐藏(如setVisible(false)
中设置CSS display
属性none
),即(在CSS中):position:absolute; top: -1000px; left: -1000px;
答案 1 :(得分:2)
我相信 Thomas Broyer的回答已经过时了。我刚刚成功使用myFileUpload.click()
没有问题。
我还在setVisible(false)
字段中使用了FileUpload
,它可以在Chrome中使用。 Haven在Safari中进行了测试,但现在似乎已经解决了这些问题。
答案 2 :(得分:0)
你也可以像这样使用JSNI:
private native void triggerClick(Element e) /*-{
e.click();
}-*/;
然后致电
triggerClick(fileInput.getElement());