formタグの中を送信したとき、例えば、formタグ内にあるINPUTのtypeがsubmitのボタンをクリックした時や、JavaScriptで、document.formのname.submit()などで情報が送信されたき、CFは、formの中にあるINPUTタグの値を、form.inputタグのnameという形で、構造体としてキャッチします。
例えば、下のソースを見てみましょう。
<FORM name="Frm_Main" action="" method="post"> <INPUT type="text" name="hoge" value="1"> <BR> <INPUT type="checkbox" name="test_checkbox" value="2"> <INPUT type="checkbox" name="test_checkbox" value="3"> <INPUT type="checkbox" name="test_checkbox" value="4"> <BR> <INPUT type="radio" name="test_radio" value="a"> <INPUT type="radio" name="test_radio" value="b"> <INPUT type="radio" name="test_radio" value="c"> <BR> <SELECT name="test_select"> <OPTION value="apple">りんご</OPTION> <OPTION value="lemon">レモン</OPTION> <OPTION value="orange">オレンジ</OPTION> </SELECT> <INPUT type="submit" value="Run" > </FORM> |
上の場合、submitボタンを押した場合、どうなるでしょうか??
一つずつ確認していきたいと思います。
まず、type=textの場合ですが、そのままの値を保持します。
よって、
< CFSET cv_hoge = Form.hoge> |
で値を取得することができます。
次にチェックボックスですが、以下の場合に分かれます。
1.何もチェックを入れていない場合 2.一つだけチェックを入れている場合 3.複数チェックを入れている場合 |
1の場合、form変数自体、何も値を保持していないので、form.変数名で値を取得することができません。
(そもそも、値自体がない。)
2の場合、form.変数名で値を取得することができます。
3ですが、2と同様、form.変数名で値を取得することができるのですが、2と違うのは、listとして取得する点が違っています。
type=radioと、selectボックスですが、選択された値のみform.変数名で取得することができます。
form.変数名は、プログラミングをする上でとても大切な構造体なので、これを機にマスターしたいっすね。
0 コメント:
コメントを投稿