- 締切済み
php プルダウンメニュー 時刻チェック
<?php print '<select name="start_time">' . "\n"; $start = mktime(09,00); $end = mktime(19,00); for ($i = $start; $i <= $end; $i+=30*60) { $time=date("H:i",$i); print "<option value=\"{$time}\">{$time}</option>\n"; } print '</select>~' . "\n"; print '<select name="end_time">' . "\n"; $start = mktime(11,00); $end = mktime(21,00); for ($i = $start; $i <= $end; $i+=30*60) { $time=date("H:i",$i); print "<option value=\"{$time}\">{$time}</option>\n"; } print '</select>' . "\n"; ?> となっている場合選択される場合 14:00~16:00と選んでいただければよいのですが、この記述だと14:00~10:00と選ぶことが可能になってしまいます。 ここでご質問なのですが、start_timeのセレクトを選んだ場合、自動でend_timeをstart_timeで選んだ時刻の2時間後から選択できる記述はないでしょうか? javascriptを使わないといけないのでしょうか? もしphpでございましたらご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- memphis
- ベストアンサー率40% (975/2395)
そういうチェックをしたいなら、javascriptを使うことになります。 また、画面遷移を無くしたいならAJAXにすればいいです。
- seimurakam
- ベストアンサー率61% (21/34)
開始時刻を選択→次の画面で終了時刻 という遷移を行うのであれば可能ですが、 画面の遷移を行わないのであれば javascriptを使うことになると思います。 画面遷移は行いたくない、javascriptは使いたくない というのであれば、フォーム送信後のページで 時間の前後関係をチェックするか、 ┌─────┬─┐ ┌──┬─┐ │14:00│▼│より│02│▼│時間 └─────┴─┘ └──┴─┘ といった形式のフォームで実現するのはいかがでしょう? ほかに補足や前提などあれば、追加で教えてください。
補足
返事が遅くなり、申し訳ありません。 また、お忙しい中、有難うございます。 javascriptを使わないとだめですか・・・ 時刻が選択された時点でエラーをだすことは可能でしょうか? 例→14:00~11:00と選んで、確認画面にて時刻が間違っていますと、表示される のはできますでしょうか? こちらもjavascriptを使わないとだめでしょうか?
お礼
有難うございます。 javascriptで作成してみようと思います。 大変お手数なのですが、サンプルコード又は参考サイト等がございましたら、ご教授お願いいたします。