- 締切済み
毎週決まった曜日から数日間だけ・・・
たとえば、毎週土曜日になったら自動的に問合せフォームが開くようにし、 翌週の月曜日には自動的に閉じて、 土~月の期間以外は 「問合せ期間は土~月となっております。しばらくお待ちください」 というようなテキストだけを表示させる。というのは、 JavaScriptで可能でしょうか。 フォームはメールに届くような簡易的なものではなく、 CGIを使っており、内容はWebサーバーに届くようになっています。 いまは手動で更新しているのですが、時々忘れてしまいがちですし、 こちらの都合でその曜日に更新できないときは、 締切を過ぎてもフォームが開く状態になっていますし・・・ 自動で、深夜12時になると切り替われば助かるんですが。 自動でテキストを切り替える方法はわかるのですが、 入力フォームがある場合はできるのかどうか教えてください。 テキストを切り替えるタイプのジャバスクリプト内に、 フォームのタグを記述しても、動作しませんでした(--;) よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
原則javascriptで時間の制御はクライアントの時計をつかいます。 もしやるならサーバーから任意に時間を渡してやるような仕組みが必要ですね。 それを考えれば、サーバー側の定期処理にフォームの表示非表示を切り替えて やるような仕組みをいれてやる方がわかりやすいかもしれません。
- Tiffa9900
- ベストアンサー率31% (68/216)
JavaScriptでできると思いますけど、現実的ではないんじゃないかなぁ? というのも、JavaScriptってクライアント側で動きますよねぇ? クライアント側(接続している側)の時計が狂っていたら入力できてしまうと思います。 利用しているcgiが、 HTML埋め込み式(フォームのページが「~.html」)でsubmitしたときに呼び出される形であれば難しいのですが、 HTML吐き出し式(フォームのページが「~.cgi」)であれば、cgi側の日付関数を利用して、生成するHTML自体を変更する事は可能だと思いますよ。 前者でもページ内に「問合せ期間は土~月となっております。」と明記しておき、且つsubmitした段階でエラーページを表示するような形であればできるかな。
お礼
ですよね~。私自身が動作を確認するときには時計をいじっているありさまですし(--;) そこまでしなくても、時計が狂っていることに気がつかずに開けてしまう可能性はありますよね。 フォームですが私がイチから設置したわけじゃなく、ホスティング先のシステムを使っているのですが、おそらく前者だと思います。 エラーページを表示することができないか試してみます。
お礼
回答ありがとうございました。 >サーバーから任意に時間を渡してやるような仕組み それもジャバスクリプトで実現可能なのでしょうか? 自分はプログラマではなくデザイナーなので、正直CGIを自分で書くとなってくるとお手上げです・・・