2014-12-04 54 views
0

我在编程上对输入类型='文件'进行单击,并在输入值更改时提交文件。它工作正常在FF/Chrome浏览器(最新版本),但不是在IE浏览器,当点击输入浏览按钮用另一个按钮单击事件编程方式当以编程方式在文件输入上单击时,IE更改事件不会触发

<input id='fileupload' type='file' visibility='hidden'> 
<button id='TriggerUpload'> 
<script> 
    $("#fileupload").change(function() { alert('Value Changed'); }); 
    $("#TriggerUpload").click(function() { $("#fileupload").click(); }); 
<script> 

更改事件不会在IE浏览器被触发,但是做工不错,当直接点击输入浏览按钮(如果可见)!

我尝试使用onpropertychange,如http://jsfiddle.net/7wR2L/14/中所述,但它不能解决IE11中的问题!

任何建议和/或解决方案真的很感激。

回答

0

确实是一个非常令人沮丧的问题 - 我认为它是IE中的一个bug。试试这个工作,基本上强制关注你的按钮:

$("#TriggerUpload").click(function() { 
    $(this).focus(); 
    $("#fileupload").click(); 
}); 
0

你是否触发了正确的事件?您已订阅change,但正在触发click。相反:

$("#fileupload").change(function() { alert('Value Changed'); }); 
$("#TriggerUpload").click(function() { $("#fileupload").trigger('change'); }); 

http://jsfiddle.net/drzaus/7wR2L/1350/(我居然无法在IE中测试这个...)

相关问题