Webサイトでのメールフォームで時間を入力してもらったときに確認画面で14時20分とかに表示させたいのですが、14/20 と年月のように表示されてしまいます。

○時○分 と表示させるにはどのようにすれば良いのでしょうか。
ソースは以下の内容で行いました。

-------------
<tr>
<td class="itm1"></td>
<td class="itm2">時間<br />
<span>born time</span></td>
<td class="itm3"><select id="h" name="時間" value="時">
<option value="0">0</option>時
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
</select>

<select id="m" name="時間" value="分">>
<option value=0>0</option>分
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option valu

このQ&Aに関連する最新のQ&A

A 回答 (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'}" と確実に区別・受け渡し出来るように書くと良いと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
うまく対応できました。

お礼日時:2011/04/22 17:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報