我在这里看到了这个:
How can I build multiple submit buttons django form?
我试图模仿自己的代码(我觉得我不太了解request.POST对象)
来自views.py的片段:
def globe(request):
if request.method == 'POST':
#for key, value in request.POST:
# print (key,value)
if 'LoadLayer' in request.POST:
print 'LOADED LAYER'
elif 'notloadlayer' in request.POST:
print 'not loaded layer'
else:
print 'BLARG' #hits this all the time...
然后是html:
<form action="/" method="post" id="form">{% csrf_token %}
<!-- {{ form.as_table }} -->
<table>
{% for field in form %}
<tr><td><font color="white">{{field}}</font></td></tr>
{% endfor %}
</table>
<input type="submit" name="LoadLayer" value="Load Entities" />
<input type="submit" name="notloadlayer" value="Export KML" />
</form>
所以,没有任何东西都在request.POST对象中(我在评论中,我试图打印出字典中的项目,它从来没有打印太多的东西,或者说有些错误)。
不确定我错过了什么部分或做错了什么?
答案 0 :(得分:1)
使用以下代码
对于HTML和Jquery
<form action="/" method="post" id="form">{% csrf_token %}
<!-- {{ form.as_table }} -->
<table>
{% for field in form %}
<tr><td><font color="white">{{field}}</font></td></tr>
{% endfor %}
</table>
<input type="checkbox" name="hidden_checkbox" id="hidden_checkbox" style="display:none"/>
<input type="button" value="Load Entities" data-action="true"/>
<input type="button" value="Export KML" data-action="false"/>
</form>
<script>
$('input[type="button"]').click(function(){
$('#hidden_checkbox').prop('checked', JSON.parse($(this).attr("data-action")));
$('form').submit();
});
</script>
对于Django
def globe(request):
if request.method == 'POST':
if request.POST.get('hidden_checkbox'):
print 'LOADED LAYER'
else:
print 'not loaded layer'