2017-02-17 6 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

カウンタは良いアイデアではありませんそれを行うには、他の方法です。ユーザーはバックスペースなどを使用できます。 if( '#vat1').val()。length == 10 – Satevg

+0

テキストボックス値の取得なし:def call_operator(request): text_box_value = request.POST.get( 'vat') print(text_box_value) –

+0

あなたのviews.py、urls.pyとテンプレートを共有してください! –

関連する問題