2014-03-03 43 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