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();

выполняется, не дожидаясь, пока пользователь выберет файл и закроет dialog (after the .click above) в FF/Chrome, но отлично работает в IE (at least IE11).

frameUpload1 - это iframe, а upload_1_file - это asp: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>

Кто-нибудь знает, почему и как это исправить?

Заранее спасибо!


person dennisV    schedule 03.03.2014    source источник


Ответы (1)


Я думаю, что эти два могут вам помочь:

1 - вместо value != '' используйте value != null

2 - вместо $(myFrame).contents().find("#upload_1_start") используйте $ ("# uploadvalue != ''start")

но я не совсем уверен насчет второй.

person Farhad    schedule 03.03.2014
comment
Спасибо. Проблема в том, что если поставить alert ('1'); сразу после строки var value = он запускается, пока на экране отображается диалоговое окно выбора файла. Значит, значение! = '' Или значение! = Null, вероятно, не поможет? - person dennisV; 03.03.2014