Javascript Can';用jQuery(Django)序列化表单
我有一个模板Javascript Can';用jQuery(Django)序列化表单,javascript,jquery,django,Javascript,Jquery,Django,我有一个模板 <form method="POST" action="{% url 'ajax_question' %}" role="form" id="question-form"> {% csrf_token %} {% for answer in answers %} <div class="radio"><label name="answers-radio"> <input type="radio
<form method="POST" action="{% url 'ajax_question' %}" role="form" id="question-form">
{% csrf_token %}
{% for answer in answers %}
<div class="radio"><label name="answers-radio">
<input type="radio" name="answers-radio"
value ="{{ answer.id }}">{{ answer.text }}
</label></div>
{% endfor %}
</form>
如果工作不正常,它只会返回
csrfmiddlewaretoken=yYa3KW1pFWCAquX3FUsbMOHTfXE2z8g3
表单呈现正确,我看到所有无线电元素和其他元素。也许您可以使用
$("#question-form").serializeArray();
这里有一个解决方案,你可以使用或寻找想法。希望这有帮助
也许你可以
$("#question-form").serializeArray();
这里有一个解决方案,你可以使用或寻找想法。希望这有帮助
如果在页面加载时序列化表单,则只序列化初始数据(这就是为什么只获取
csrf\u标记值的原因)。相反,您希望序列化所有字段,在用户填写字段并触发submit
之前,这些字段不会有值
您必须稍微调整表单,使其不立即发布(如果您计划使用ajax,可以删除操作Url,并将该Url放入ajax方法中)。但这样的事情应该适合你:
$(document).ready(function() {
$('#question-form').on('submit', function(event){
event.preventDefault();
var form_data = $('#question-form').serialize();
});
})
如果在页面加载时序列化表单,则只序列化初始数据(这就是为什么只获取csrf\u标记
值)。相反,您希望序列化所有字段,在用户填写字段并触发submit
之前,这些字段不会有值
您必须稍微调整表单,使其不立即发布(如果您计划使用ajax,可以删除操作Url,并将该Url放入ajax方法中)。但这样的事情应该适合你:
$(document).ready(function() {
$('#question-form').on('submit', function(event){
event.preventDefault();
var form_data = $('#question-form').serialize();
});
})
愚蠢的错误:我没有选择任何单选元素,所以什么都不会发生。愚蠢的错误:我没有选择任何单选元素,所以什么都不会发生。您什么时候序列化表单数据?在同一页的
中,对,但是您是否在等待表单提交以序列化表单?还是在页面加载时序列化?加载后。即使在浏览器控制台中序列化它,它也只显示CSRFMiddleWareToken。您何时序列化表单数据?在同一页的
中,对吗?但您是否正在等待表单提交以序列化表单?还是在页面加载时序列化?加载后。即使在浏览器控制台中序列化它,它也只显示csrfmiddlewaretoken