2017-03-04 9 views
0

まずフラスコに渡ったが、私は一種の立ち往生しています。変数はフォームで得られます。ブートストラップ変数は、それは愚かな質問だ場合、すべて申し訳ありませんの

変数はドロップダウンから選択します。変数がmySQL2から選択されたら、customernameに格納する必要があります。

現時点では、まったく動作しないサンプルコードがあります。

<form action="" class="form-group" method="post"> 
    <div class="form-group"> 
     <label for="selectcustomer">Select your customer</label> 
     <input 
      <select class="form-control" id="selectcustomer"> 
       {% for j in mySQL2 %} 
       <option>{{j[2]}}</option> 
       {% endfor %} 
      </select> value="{{request.form.customername}}"> 
     <input type="text" class="form-control" name="customername" value="{{request.form.customername}}"> 
    </div> 
    <br> 
    <input class="btn btn-default" type="submit" value="Submit"> 
</form> 

customernameに選択した値を投稿するにはどうすればよいですか?

形式は以下のようになります。私は、ドロップダウンする選択フィールドを必要とする Screenshot from Broswer

。値を選択したら、customernameに保存してください。

+0

あなたが動作しないものに手の込んだ:

は、次のようにビューを持っているとしましょうか?一般に、HTMLフォームの値(input、select/option)は、フォームのaction属性で指定されたURLでサーバーにポストバックされます。あなたの行動は空白です - それは意図的ですか? – payne

+0

申し訳ありません、スクリーンショット付きの投稿を追加しました。それは目的ではありません。私は選択された値を掲示してサーバーに送る必要があります。 –

+0

私はプロですが、これは ... value = "{{request.form.customername}}">有効ですか?それはちょっと外見だ –

答えて

0

フォーム提出前にサブミット値を取得できません。ビューの使用にポストされたデータを取得するには:

request.form["selectcustomer"] 

注: HTMLタグselectはそうあなたが名前ではありません。SELECT IDと値を取得することができname属性<select name="selectcustomer" ...>を持っている必要があります。

def customer(): 
    customername = "" 
    if request.method == 'POST': 
     customername = request.form["customername"] 
    return render_template("yourhtmlfile", customername=customername) 

#yourhtml 
... 
{{customername}} 
+0

ありがとう、最後に私は幾分醜い、またはhaventそれらをOKに見えるようにhtmlの方法を考え出したwtformsに行きました。あなたの提案を見て、私は入力を取り除いたはずだと思いますが、変数は value = "{{request.form.customername}}">で保存され、フラスコ内で呼び出すことができます。 –

関連する問題