我有以下HTML:
<form method="post" action="/link" style="position:absolute; left:-1000px;">
<input type="file" name="gameUpload" id="gameUpload" />
</form>
我正在尝试将HTML中的上传功能整合到一起。
这个想法是当在Unity引擎中单击一个按钮时,它会调用一个javascript函数,而js函数将触发对文件输入元素的单击。
这在Firefox和IE10,IE9和IE8中运行得非常好。但它无法在Chrome和Safari中使用。
JS代码:
function uploadImage(){
jQuery("#gameUpload").trigger("click");
}
我尝试使用带有一些文本的“span”并尝试在单击该文本时触发文件输入的单击,这样可以正常工作。
另外,我做了以下检查是否触发了点击:
jQuery("#gameUpload").unbind("click").bind("click",function(){
alert("I am open");
});
显然,点击会被触发,因为我收到警报但文件对话框没有被打开。
答案 0 :(得分:0)
我不熟悉Unity中的HTML,但我认为你不需要JS。
只包括<input type="file" name="gameUpload" id="gameUpload" />
应该允许浏览器打开一个对话窗口。
答案 1 :(得分:0)
使用jQuery,只需执行此操作:
$('#imageUpload').click();
// or get the HTMLElement
$('#imageUpload').get(0).click();
仅使用html(我们知道,带有for属性的标签会集中表单元素的默认操作。)
<label for="imageUpload">Upload File!</label>
<input id="imageUpload" type="file" style="display:none"/>