如何解决表单输入未在 Request.POST 中显示
我正在尝试创建一个使用 Dropzone 的表单,但我需要添加另一个输入。问题是当我尝试从服务器访问其他输入时,服务器找不到它。
这是我有 atm 的 html 代码
{% load static %}
{% block content %}
<div class="pt-3 pb-2 mb-3 border-bottom">
<form action="#" method="POST" class="dropzone dz" id="dropzone" name="dropzone" >
{% csrf_token %}
<div class="fallback" >
<input name="file" type="file" multiple />
<input type='text' name='fullname' value='what ever you need to get in backend'>
</div>
</form>
<button type="button" class="btn btn-outline-success" id='uploadfiles' value='Submit' >Submit</button>
<span data-feather="save"></span>
Submit
</button>-->
</div>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs4/jq-3.3.1/jszip-2.5.0/dt-1.10.20/b-1.6.1/b-html5-1.6.1/b-print-1.6.1/datatables.min.css"/>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/vfs_fonts.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/jq-3.3.1/jszip-2.5.0/dt-1.10.20/b-1.6.1/b-html5-1.6.1/b-print-1.6.1/datatables.min.js"></script>
<script type = "text/javascript">
$('#dropzone').submit(function() {
console.log('Hello');
});
Dropzone.options.dropzone =
{
autoProcessQueue: false,maxFiles: 1,acceptedFiles: ".xlsx",addRemoveLinks: true,init: function() {
var submitButton = document.querySelector("#uploadfiles")
myDropzone = this; // closure
submitButton.addEventListener("click",function() {
var a = document.getElementById('pymt_date').value
var CurrentDate = new Date();
GivenDate = new Date(a);
if (a == null || a == ""){
alert("Please Enter Payment Date");
return false;
}
else if (GivenDate < CurrentDate) {
alert("Payment Date Must be greater than today");
return false;
}
else {
console.log(document.getElementById('pymt_date').value);
myDropzone.processQueue();
setTimeout(function() {
location.reload();
},5000);
}
// Tell Dropzone to process all queued files.
});
}
};
</script>
能否请您帮忙并告知问题所在。当我尝试打印 request.POST 以获取输入 name="fullname" 的值时,我得到的只是 csrf 令牌,仅此而已。
解决方法
首先,您的提交按钮不在表单中。 Imo 应该在里面,按钮的类型应该是“提交”而不是“按钮”。另一件事是不清楚你想在哪里访问 request.POST。在 Django 视图中?所以在表单中 make: enctype="multipart/form-data 正如 Willem Van Onsem 所说。再次在表单中放置提交按钮。所以你将能够在视图中处理 POST 请求。并检查你的代码犯了一些错误 - 两次关闭,提交等
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。