Как изменить HTML-элемент для выбора File-Dialog? - PullRequest
0 голосов
/ 20 мая 2019

В настоящее время я работаю над программой на python, которая использует интерфейс html / css, который подключен через eel. Это требует от пользователя загрузить файл для анализа. Чтобы показать пользователю в интерфейсе пользователя, какой файл был выбран, я хочу показать имя файла (или путь) после завершения процесса выбора.

Так как я новичок в этом, я нашел простой диалог с файлами в Интернете (возможно, где-то здесь, в Stackoverflow), который использует JQuery для выбора пути к файлу. Выбор работает нормально, и моя программа может работать с этой информацией, если выбранный файл находится в той же папке, что и html-файл, так как это позволяет обойти ложные ошибки, и я не знаю, как это сделать.

Я хочу отобразить выбранный путь под кнопкой, как только он был выбран. Однако в текущей конфигурации он отображает [объект объекта] сразу после нажатия кнопки «Browserino», а не выбранного пути или (в идеале) выбранного имени файла.

HTML-документ содержит:

<div class="col">
  <button id="button" class="btn btn-primary" onclick="clicked();">Browserino</button>
  <input id="file-input" type="file" name="name" style="display: none;" />
  <small id="pathway" class="form-text text-muted">invisible</small>
</div>     

И main.js имеет эту функцию для работы:

function clicked(){
    var path = String($('#file-input').trigger('click'));
    document.getElementById('pathway').innerHTML = path;
    document.getElementById('pathway').style.visibility = 'visible';
}

Я также попробовал следующий файл в main.js, но он мне не подходит:

function clicked(){
    String($('#file-input').trigger('click'));
    var file_input = document.getElementById('file-input').value;
    var filepath = file_input.replace(/^.*[\\\/]/, '');

    document.getElementById('pathway').innerHTML = filepath;
}

Спасибо за все комментарии ранее, я надеюсь, что это изменение поможет прояснить проблему. Любая помощь приветствуется. Thx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...