Как заблокировать файл Выберите диалог или получите событие загрузки кнопки? - PullRequest
0 голосов
/ 29 июня 2018
    function importcsv(arg) {
    $("#upload:hidden").trigger('click');
    var fileVal=document.getElementById("upload");
    var filePath = fileVal.value;
    var fr = new FileReader();
    var result ="";       
    fr.readAsText(fileVal.files[0]);    
    fr.onload = function(e) {
        result=e.target.result;
        post("worker.php?arg="+arg,result);
    };  
    return true;
}

почему это только на втором клике, выберите и файл? первый вызов filePath var пуст ... как я могу заблокировать, пока файл не выбран?

1 Ответ

0 голосов
/ 29 июня 2018

Полагаю, ваша проблема в том, что вы поставили свой триггер на самой первой строке. Переместите это в последнюю позицию как:

function importcsv(arg) {
    var fileVal=document.getElementById("upload");
    var filePath = fileVal.value;
    var fr = new FileReader();
    var result ="";       
    fr.readAsText(fileVal.files[0]);    
    fr.onload = function(e) {
        result=e.target.result;
        post("worker.php?arg="+arg,result);
    };  
    $("#upload:hidden").trigger('click');
    return true;
}
...