【发布时间】:2020-06-17 11:43:10
【问题描述】:
我正在开发一个 django 应用程序。在应用程序中,我在表单中有一个下拉按钮。还有一个隐藏的输入字段将保存所选下拉项目的值。 (我通过jQuery 实现了这一点)。我想访问views.py文件中隐藏字段的值。
现在提交表单时,我只返回一个 None 值。我不确定我做错了什么。这是我目前的代码
HTML 模板
<form method="post" action="{% url 'test_app:get_data' %}">
{% csrf_token %}
<div class="dropdown">
<button class="btn btn-primary btn-lg btn-block dropdown-toggle fruit-btn" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Fruit
</button>
<input type="hidden" name="fruit-name" id="fruit-name" value="" disabled>
<div class="dropdown-menu">
<ul class="list-group" role="menu" aria-labelledby="dropdownMenu">
<li class='list-group-item'><a class="btn btn-lg dropdown-item" href="#">Apple</a></li>
<li class='list-group-item'><a class="btn btn-lg dropdown-item" href="#">Banana</a></li>
<li class='list-group-item'><a class="btn btn-lg dropdown-item" href="#">Mango</a></li>
</ul>
</div>
</div>
...
<button type="submit" class="btn btn-primary btn-block btn-lg mt-5">Submit</button>
</form>
views.py
def test_data(request):
if request.method == 'POST':
fruit = request.POST.get('fruit-name')
print(fruit)
return redirect("test_app:root")
return render(request, 'test_app/root.html')
jquery代码获取隐藏输入框按钮的值
$(document).ready(function() {
$('.dropdown-item').click(function() {
$('.fruit-btn').text($(this).text());
$('.fruit-btn').val($(this).text());
$('#fruit-name').val($(this).text());
console.log($('#fruit-name').val())
})
})
这是我单击特定水果时 jquery console.log 的输出
Mango
这是我提交表单时来自views.py 的python print(fruit) 的输出
None
我不确定我做错了什么。有什么建议吗?
【问题讨论】:
-
不会发布,因为它是
disabled。 stackoverflow.com/questions/1355728/… -
@AminMir 非常感谢。这行得通。当输入为
disabled时,有什么方法可以访问该值。事实上,有没有什么方法可以访问按钮的值而不是隐藏输入?
标签: python jquery django forms django-views