python-cgi チェックボックスの状態を知る

Python活用

cgiを呼び出す側のページのチェックボックスの状態(チェックされているかどうか)をcgi側で判断する方法を説明します。

呼び出し側の記述

チェックボックスはHTMLでは<type=”checkbox”・・・>で記述します。チェックされている状態で表示したいときは、checked=”checked”を追加します。

<input id="hello" name="hello" checked="checked" type="checkbox" value="hello" /><label for="hello">こんにちは</label>
<input id="world" name="world" type="checkbox" value="world" /><label for="world">世界</label>

全体のHTMLはこちらのページに記載しています。

cgi側の記述

チェックボックスの状態の取得

getfirstメソッドを使ってチェックボックスの状態を真(チェックされている)、偽(チェックされていない)を判断します。チェックボックスの数だけgetfirstメソッドを実行します。

form = cgi.FieldStorage()
hello = form.getfirst(‘hello’, ”) #チェックボックスの状態をboolean型で取得
world = form.getfirst(‘world’, ”) #チェックボックスがチェックされていれば真

チェックボックスの状態による分岐

getfirstメソッドで取得した値(変数)をif 文で判断し、真と偽に分岐したコードを記述します。
例を示します。以下の例では、「こんにちは」のチェックボックスがチェックされていたら、aisatsu変数に”こんにちは”を入れています、

aisatsu = "Hello"
if hello:
    aisatsu = "こんにちは"

if world:
    sekai ="世界"
else:
    sekai ="World"

ここでは、一部のみを示しましたが、cgiの全体コードはこちらのページに記載しています。

タイトルとURLをコピーしました