- ベストアンサー
ページを開いて何秒か?
ページを開いてから、submitを送るときに、 経過時間を秒で送信したいのですが、 何かいい手は無いでしょうか? ページ中に、経過時間が、1,2,3・・・秒と増える枠を表示させ、 submit時に、その数値を送る。 こんな仕組みになろうかと思いますが。 どのようなプログラムになるでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
javascriptを使って、以下のような感じになるんじゃないかと思います <script type="text/javascript"> <!-- window.onload=function(){ setInterval('countup()',1000); } function countup(){ document.FORM1.COUNTER.value=parseInt(document.FORM1.COUNTER.value)+1; } //--> </script> … <form name="FORM1" …> <input name="COUNTER" type="text" value="0"> … </form>
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
hiddenでformにアクセス開始時刻を埋め込んで submitしてもらえば、その差が経過時間になるのでは?
- twinkleluz
- ベストアンサー率52% (98/185)
ちょうどこんなものを見つけましたが、ずばりそのものっぽいでしょうか? "javascript timer"で検索すると、時間取得に関するページがたくさんヒットしますよ。
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 PHPよりJavaScriptの処理になると思います。 (PHPはサーバにリクエストがあった上で動作する為 ブラウザ上での処理は何をしてるかわかりません) 動き的には ページにアクセス後onLoadでJavaScriptを動かし、その時の時刻を取得。 取得後は1秒毎に現在の時間とアクセスした時の時間で何秒経過したか表示。 (タイマーを使用して1秒毎(厳密には1秒以下で呼びなおします)) submitを行うときにonSubmitで処理を行うことが出来るので その中で経過した秒数をあらかじめ用意したhidden項目 (テキストフィールドに秒数を表示しているなら必要ない(readOnlyにしないと書き換えられてしまう可能性あり)) そうすれば、submit先のスクリプトで経過した秒数を取得することができます。 (リアルタイムに経過秒を表示する必要がなければセッションに時間を書き込んで、送信された先で比較すれば経過時間を知ることもできます)