Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery:在输入:file上触发click()?_Jquery_Events_File Upload_Click - Fatal编程技术网

jquery:在输入:file上触发click()?

jquery:在输入:file上触发click()?,jquery,events,file-upload,click,Jquery,Events,File Upload,Click,我目前正试图用这个来重新设计(eclipse)我网站上的fileupload元素。当我将fileupload元素放在新的替代映像下面时,结果是有希望的(如前面所述教程所示)。现在,我想将fileinput元素放在其他地方,并将图像上的单击功能绑定到单击fileinput元素以启动文件浏览器对话框 唉,通常的$('input:file')。单击()或$('input:file')。触发器('click')不起作用 我还对启动文件对话框的其他方式感兴趣,没有文件上传元素(它只用于javascript

我目前正试图用这个来重新设计(eclipse)我网站上的fileupload元素。当我将fileupload元素放在新的替代映像下面时,结果是有希望的(如前面所述教程所示)。现在,我想将fileinput元素放在其他地方,并将图像上的单击功能绑定到单击fileinput元素以启动文件浏览器对话框

唉,通常的
$('input:file')。单击()
$('input:file')。触发器('click')
不起作用

我还对启动文件对话框的其他方式感兴趣,没有文件上传元素(它只用于javascript处理,不上传到服务器)


哦,它不需要在IE的任何版本上工作。

两个代码示例上都缺少一个引号,请尝试
$('input:file')。触发器('click')
然而,据我所知,这是不可能的,至少以这种方式。出于安全考虑,这是出于设计目的


您可以尝试通过跟踪鼠标移动并将隐藏的文件输入移动到新图像的顶部或您将使用的任何设置输入样式的方法来完成此操作。

您现在做得怎么样,您能给我们提供更多的代码吗?还可以尝试向文件输入和要触发的字段添加唯一ID。例如:

<span id="browse">Click here to choose a file</span>
<input type="file" id="file" />


这不应该是
$('input:file')。单击()?(文件后面的省略号)可能是@bazmegakap的副本遗漏了那一个。嗯,我没有注意到。快+1但当您尝试使用
change
event将文件上载路径复制到textbox时,它在IE 8,9,10中不起作用。id不是必需的,任何与输入匹配的选择器都会起作用,这对于您页面上的多个输入字段肯定会非常有效。
$('#browse').bind('click', function(e) {
  $('#file').click();
});
<div class="imageUploadInput">
    <img id="uploadImage" src="images/camera_icon.png" />
    <input type="file" name="thumb" id="uploadImageInput" />
</div>
$('#uploadImage').livequery("click",function(){
    $('#uploadImageInput').trigger('click');
});
$('#uploadImage').click(function(){
   $('#uploadImageInput').trigger('click');
});