- ベストアンサー
メールフォームで時間を入力してもらったときの表示方法
- Webサイトのメールフォームで時間を入力してもらったとき、確認画面で14時20分のように表示させる方法について教えてください。
- 要約文2
- 要約文3
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
そのフォーム自体に、『一応』問題はありません。 14時20分を選んだならば、 submit.cgi?時間=14&時間=20 というURLでCGIが呼ばれることになります。 そして、14 と 20 という値から、"14/20"という文字列を作っているのは、そのCGIプログラムの内部です。 その文字列を作っている部分を書き換えれば、直せるんじゃないでしょうか。 ---- 『一応』と書いた部分の話ですが。 submit.cgi?時間=14&時間=20 というURLは実際には、 submit.cgi?%E6%99%82%E9%96%93=14&%E6%99%82%E9%96%93=20 というようにURLエンコードされて、受け渡されます。 ブラウザの漢字のエンコード方法によっては、上記と同じにはならない=パラメータ名が化けてしまい、値を受け取れないことも考えられます。 また、パラメータ名が同じだと、どちらを先に読むかわかりませんし、片方しか残らない可能性もあります。 従って、nameオプションは、英数字のみで、重ならない名前にした方がよいでしょう。 <td class="itm3"><select id="h" name="hh" value="時"> <option value="0">0</option>時 <option value="1">1</option> : <select id="m" name="mm" value="分"> <option value=0>0</option>分 <option value=1>1</option> : このようにして、例えばCGI内で "$ENV{'hh'} : $ENV{'mm'}" と確実に区別・受け渡し出来るように書くと良いと思います。
お礼
ありがとうございました。 うまく対応できました。