Тип входного файла, событие onchanges снова активируется после возврата - PullRequest
0 голосов
/ 05 декабря 2018

Я использую приложение c # mvc для разработки своего веб-сайта.

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

<form style="display:inline;" enctype="multipart/form-data" action="/Admin/AddImage" method="post" id="uploadImageForm">
  <input hidden name="listing_id" value="@Request.QueryString["id"]"/>
  <label for="file-upload" style="width :120px" class="btn btn-default custom-file-upload">
    <input name="uploaded_image" id="file-upload" type="file" onchange="document.getElementById('uploadImageForm').submit();" />
           Add Image
  </label>
</form>

Хорошо, это отлично работает.Однако, когда я нажимаю кнопку «Назад» на моем Chrome, это глупое событие снова сработает, поэтому дважды загрузите его.Как я могу предотвратить это.

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

1 Ответ

0 голосов
/ 05 декабря 2018

на стороне клиента : вы можете добавить на стороне клиента с помощью Запретить пользователю использовать кнопку возврата браузера, удалив страницу из истории.

history.pushState(null, null, document.title);
window.addEventListener('popstate', function () {
    history.pushState(null, null, document.title);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...