2014-03-03 45 views
0

在此代码:JavaScript不等待文件上传对话框中选择

function OpenUploadFile1() { 
    var myFrame = document.getElementById('frameUpload1'); 
    $(myFrame).focus(); 
    $(myFrame).contents().find("#upload_1_file").click(); 
    var value = $(myFrame).contents().find("#upload_1_file").val(); 
    if (value != '') { 
     $(myFrame).contents().find("#upload_1_start").click(); 
    } 
} 

var value = $(myFrame).contents().find("#upload_1_file").val(); 

,而无需等待用户选择文件并关闭在FF/Chromedialog (after the .click above)被执行,但在IE (at least IE11)中工作正常。

frameUpload1iframe,而upload_1_fileasp:UploadFile control

编辑:为清楚起见,这是代码是如何调用:

<a href="javascript:void(0)" title="Upload Image" onclick="OpenUploadFile1()">Upload Image</a> 
<iframe id="frameUpload1" name="frameUpload1" src="fileupload.aspx" frameborder="0" width="0" height="0"></iframe> 

有谁知道为什么和如何解决这一问题?

提前致谢!

回答

0

我觉得这两者可能帮助您:1,而不是

value != ''使用value != null

2 - 而不是$(myFrame).contents().find("#upload_1_start")使用$( “#upload_1_start”)

,但我不完全确定第二。

+0

谢谢。问题是,如果把警报('1');在“var value =”行之后,当文件选择对话框出现在屏幕上时,它会被激活。所以,有“价值!=''”或“价值!=空”可能不会帮助? – dennisV