2017-02-17 70 views
0

用戶輸入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> 

回答

1

您可以使用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> 
+1

計數器是不是好主意。 ('#vat1')。val()。length == 10 – Satevg

+0

獲取文本框的值無:def call_operator(請求): text_box_value = request.POST.get('vat')用戶可以使用退格鍵等 print(text_box_value) –

+0

請分享您的views.py,urls.py和模板完成! –

相關問題