如何将html文件的值传递给views.py文件?
问题描述:
用户输入10位数字后会自动调用python函数。我需要发送文本框的值到python函数(views.py)。如何在views.py中获得价值?如何将html文件的值传递给views.py文件?
我不想当用户点击提交按钮来获取文本框中的值。
base.html文件
<input type="text" name="vat" id="vat1" placeholder="Please Enter 10 digits number">
脚本
var Value = document.getElementById('vat1').value;
alert(Value);
views.py
def call_operator(request):
text_box_value = request.POST.get('vat')
print(text_box_value)
print("get operator name and circle name")
template_name = 'mobile_recharge.html'
extended_template = 'base.html'
if request.user.is_authenticated():
extended_template = 'base_login.html'
return render(
request, template_name,
{'extended_template': extended_template}
)
urls.py
url(r'^call_operator/$', call_operator)
脚本
<script type="text/javascript">
$(document).ready(function(){
$('#vat1').keyup(function(){
if ($(this).val().length == 10){
$('your_form').submit();
alert("condition satisfied");
$.ajax({
type: "GET",
url: "http://localhost:8090/call_operator/"
});
}
});
});
</script>
HTML文件
<form method="POST" role="form" name="your_form">
<input type="text" name="vat" id="vat1" placeholder="Please Enter 10 digits number">
</form>
答
您可以使用Ajax。这是另一种方式来做到这一点
base.html文件
<form method="POST" name="your_form" action="{% url 'your_app:your_url' %}">
<input type="text" name="vat" id="vat1" placeholder="Please Enter 10 digits number">
</form>
<script type="text/javascript">
$(document).ready(function(){
$('#vat1').keyup(function(event){
if (event.which == 13 || event.keyCode == 13){
if ($(this).val().length == 10){
$('your_form').submit();
}else{
// Show message if the text length is lesser than 10
}
}
});
});
</script>
计数器是不是好主意。 ('#vat1')。val()。length == 10 – Satevg
获取文本框的值无:def call_operator(请求): text_box_value = request.POST.get('vat')用户可以使用退格键等 print(text_box_value) –
请分享您的views.py,urls.py和模板完成! –