我正在尝试在 Django Web 应用程序中使用 javascript 处理单按钮上传文件,并且我已经到了需要执行 2 种类型的文件上传的地步,为了做到这一点,我需要 name
属性用于测试的提交按钮,我需要知道是否有一个选项可以通过 onchange=this.form.submit();
这对我来说效果很好:
<form method='POST' enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="replace">
<button type="submit" name="replace">replace</button>
</form>
<form method='POST' enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="add">
<button type="submit" name="add">add</button>
</form>
我正在尝试做什么:
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<label for="file-upload-add" class="btn btn-primary">
<span class="glyphicon glyphicon-open"></span>Replace with CSV
</label>
<input id="file-upload-add" type="file" name="replace" onchange="this.form.submit()"/>
</form>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<label for="file-upload-add" class="btn btn-primary">
<span class="glyphicon glyphicon-open"></span>add CSV
</label>
<input id="file-upload-add" type="file" name="add" onchange="this.form.submit()"/>
</form>
最佳答案
提交按钮仅在用于提交表单时才会发送其名称/值对。
您正在使用 JavaScript 来提交表单,因此不会发送该表单。
将名称和值放在 <input type="hidden">
上反而。您有单独的表单,因此无需区分使用了哪个按钮。
关于javascript - 通过 form.submit() 传递属性;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59773704/