Top / Programming / Python / Python CGIプログラミング入門 / 選択されたラジオボタンを取得する

選択されたラジオボタンを取得する

HTMLフォームの選択されたラジオボタンを取得し表示します。

test08.cgi

#!/usr/bin/python
# -*- coding: utf-8 -*-
'''
選択されたラジオボタンを調べる
'''
html = '''Content-Type: text/html

<html>
<head>
  <title>選択されたラジオボタンを取得する</title>
</head>
<body>
<h1>選択されたラジオボタンを取得する</h1>
<p>選択された値は、「%s」です。</p>
<form action="test08.cgi" method="post">
  <input type="radio" name="lang" value="python" id="python" />
  <label for="python">python</label><br />
  <input type="radio" name="lang" value="perl" id="perl" />
  <label for="perl">perl</label><br />
  <input type="radio" name="lang" value="ruby" id="ruby" />
  <label for="ruby">ruby</label><br />
  <input type="submit" />
</form>
</body>
</html>
'''

import cgi
f = cgi.FieldStorage()
print html % f.getfirst('lang', '')

解説

import cgi
f = cgi.FieldStorage()

HTMLフォームから送信された値は、cgiモジュールのFieldStorageクラスを使用して取得します。

ラジオボタンの値を取得するには、FieldStorageクラスの getfirst() を使用します。

ラジオボタンが選択されると、ラジオボタンの name 属性 に対して value 属性の値が設定されます。

ラジオボタンが選択されなければ、値は設定されません。

print html % f.getfirst('lang', '')

lang の値を取得し(値がないときは'')、文字列フォーマットの %s と置き換えて出力します。

関連URL

更新履歴