質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

949閲覧

どのドロップダウンリストからsubmitされたかを取得したい

16Cha

総合スコア19

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/03/27 13:05

以下のように複数のフォーム(ドロップダウンリスト)があって、いずれかのドロップダウンリストの値が変更されたらsubmitするようなコードを書いています。python側でsubmitされた値を受け取る時に、どのドロップダウンリストの値が変わってsubmitされたのかを知りたい場合にはどうしたら良いでしょうか?

python

1from flask import Flask, render_template, request 2from wtforms import Form, validators, SelectField 3 4app = Flask(__name__) 5class CustomForm(Form): 6 line = SelectField(u'沿線', choices=[("山手線","山手線"),("丸ノ内線","丸ノ内線")]) 7 station = SelectField(u'駅', choices=[("東京","東京"),("渋谷","渋谷")]) 8 9@app.route('/', methods=['GET','POST']) 10def index(): 11 form = CustomForm(request.form) 12 selected_line = request.form.get("line") 13 selected_station = request.form.get("station") 14 print(selected_line, selected_station) 15 return render_template("index.html", form=form) 16

html

1<!doctype html> 2<html> 3 <head> 4 <title>demo</title> 5 </head> 6 <body> 7 {% block content %} 8 <form method="POST" action="/"> 9 {{ form.line.label }} {{ form.line(size=1, onchange="this.form.submit()") }} 10 {{ form.station.label }} {{ form.station(size=1, onchange="this.form.submit()") }} 11 </form> 12 {% endblock %} 13 </body> 14</html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

同じフォームから処理をしているのであればラジオボタンでも用意して
onchangeにラジオボタンを切り替える処理を入れるとかでしょうかね
そうすればラジオボタンに紐付いたドロップダウンが変更になったと
推定できます。

よく考えれば適当なhiddenにvalueを変更してやるだけでもいけそうです

投稿2018/03/27 13:16

編集2018/03/27 13:18
yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

16Cha

2018/03/27 14:06

回答ありがとうございます。 慣れていなくてどちらも具体的な実装がイメージできず、すみませんが、もしスニペット的のものが頂ければありがたいです。 もしくは、もともとは一つ目のドロップダウンリストで「山手線」が選択されたら2つめのドロップダウンリストには山手線の駅だけ表示するというような感じで、ダイナミックにドロップダウンリストの選択肢を更新するというようなことがやりたかったのですが、こういったことをする標準的な方法がもしあれば教えて頂けると幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問