【发布时间】:2014-06-30 00:27:51
【问题描述】:
我有一个隐藏文件上传,因为它看起来很糟糕,我显示了一个更好看的按钮,并希望它在点击隐藏文件上传时点击它。
function ClickUpload() {
$("#FileUpload").trigger('click');
}
<div id="MyUpload">
<span id="FileName">Choose File</span>
<input id="uploadButton" type="button" value="Upload" onclick="ClickUpload()">
</div>
<div id="hideUglyUpload">
<input type="file" name="FileUpload" id="FileUpload"/>
</div>
到目前为止,我可以进入 ClickUpload() 函数,但它只是通过单击而不弹出文件选择窗口。
【问题讨论】:
-
它适用于我jsfiddle.net/uAFY6/2
-
您使用的是哪种浏览器?
-
我唯一能想到的与@A.Wolff 的评论在同一行...也许某些浏览器只会在用户启动的事件触发文件对话框时才启动文件对话框。您的
trigger函数不是用户启动的,因此浏览器可能会阻止它。 -
@Lix AFAIK,旧浏览器(chrome 版本?)不允许隐藏输入,输入需要放在视口之外。但我可以测试它,现在它可以在 chrome 上运行
-
使用
.triggerhandler()时,您可以检查触发点击的天气,如果没有,则显示正常的input type=file:api.jquery.com/triggerhandler
标签: javascript jquery button file-upload click