【问题标题】:Django - Ask users to confirm change of PDF fileDjango - 要求用户确认 PDF 文件的更改
【发布时间】:2023-02-05 16:47:56
【问题描述】:

我有一个关于 Fileupload 的问题。我有一个表格,用户可以在其中上传 PDF 并更改上传的 PDF。当他们更改 PDF 时,我想添加一个警告,要求他们确认 PDF 更改。知道最好的方法是什么吗?

现在,我正尝试在我的 HTML 中使用 JS 来解决它,如下所示:

<form enctype="multipart/form-data" method="post">
    {% csrf_token %}
    <table>
    {{ form.as_table }}
    </table>
    <input type="submit" value="Submit">
    <input class="deleter" type="submit" value="Delete">
    {% include "some_html.html" %}
  </form>
<script>
  // Add event listener to change button
  function confirmFileChange() {
    var fileInput = document.getElementById('id_file');
    fileInput.addEventListener('change', function() {
      if (fileInput.value) {
        if (!confirm('Are you sure you want to change the uploaded PDF?')) {
          fileInput.value = '';
        }
      }
    });
  }

  if (document.body.innerHTML.indexOf('Change: ') !== -1) {
    confirmFileChange();
  }
</script>

但这也会在用户未更改任何内容时首次上传时显示警告。

【问题讨论】:

  • 你能再解释一下吗?不确定我是否完全理解你的意思

标签: django django-forms django-templates


【解决方案1】:

尝试这个:

<form enctype="multipart/form-data" method="post">
    {% csrf_token %}
    <table>
    {{ form.as_table }}
    </table>
    <input type="submit" value="Submit">
    <input class="deleter" type="submit" value="Delete">
    {% include "some_html.html" %}
  </form>
<script>
  // Add event listener to change button
  function confirmFileChange() {
    var fileInput = document.getElementById('id_file');
    var firstChange = true;
    fileInput.addEventListener('change', function() {
      if (firstChange) {
        firstChange= false;
      }
      else {
        if (!confirm('Are you sure you want to change the uploaded PDF?')) {
          fileInput.value = '';
        }
      }
    });
  }

  if (document.body.innerHTML.indexOf('Change: ') !== -1) {
    confirmFileChange();
  }
</script>

【讨论】:

    猜你喜欢
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多