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の全体コードはこちらのページに記載しています。