JS должен поддерживать работу после перезагрузки страницы - PullRequest
0 голосов
/ 29 апреля 2019

Я в основном полный ноль в JS, так что этот вопрос может быть совершенно тупым, в любом случае ... У меня есть скрипт, который показывает имя файла при вводе файла bootstrap4

https://getbootstrap.com/docs/4.0/components/input-group/#custom-file-input

Этот скриптотвечает за отображение имени файла во входных данных:

enter image description here

Проблема в том, что страница перезагружается (например, из-за неудачной проверки формы),это поле станет пустым, то есть без имени файла.Можно ли изменить этот скрипт таким образом, чтобы он отображал имя файла после перезагрузки страницы?PS Файлы там после перезагрузки.Они обналичены бэкэндом.HTML-код для ввода файла ниже {% endif%}

<script>
    $(document).on('change', '.custom-file-input', function (event) {
        $(this).next('.custom-file-label').html(event.target.files[0].name);
    })
</script>

{% if widget.is_initial %}
    <a href="{{ widget.value.url }}"><img class="ml-0" src="{% thumbnail widget.value "small"  %}"></a>

    {% if not widget.required %}
    {% endif %}
    <br>

{% endif %}

<div class="input-group mb-3">
    <div class="input-group-prepend">
        <span class="input-group-text" id="inputGroupFileAddon01">Upload</span>
    </div>
    <div class="custom-file">
        <input type="{{ widget.type }}" name="{{ widget.name }}" class="custom-file-input" id="inputGroupFile02" id="inputGroupFile02" aria-describedby="inputGroupFileAddon01" {% include "django/forms/widgets/attrs.html" %}>
        <label class="custom-file-label " for="inputGroupFile02">{{ widget.value|default_if_none:"Choose the file" }} {{ widget.filename }}</label>
    </div>
</div>

1 Ответ

1 голос
/ 29 апреля 2019

Прежде всего, вы не показали весь код, полную форму и вид бэкэнда.Насколько я понимаю, я могу предложить вам, если вы хотите сохранить имя файла даже после перезагрузки страницы.Вы сохраняете это в сеансе в своем представлении следующим образом:

   request.session['file']=reques.FILES

, и в своем шаблоне вы можете получить эту переменную сеанса, подобную этой, чтобы поместить ее вместо имени файла:

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