dポイントプレゼントキャンペーン実施中!

ページを開いてから、submitを送るときに、

経過時間を秒で送信したいのですが、

何かいい手は無いでしょうか?


ページ中に、経過時間が、1,2,3・・・秒と増える枠を表示させ、
submit時に、その数値を送る。

こんな仕組みになろうかと思いますが。
どのようなプログラムになるでしょうか。

A 回答 (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>
    • good
    • 0

hiddenでformにアクセス開始時刻を埋め込んで


submitしてもらえば、その差が経過時間になるのでは?
    • good
    • 0

ちょうどこんなものを見つけましたが、ずばりそのものっぽいでしょうか?



"javascript timer"で検索すると、時間取得に関するページがたくさんヒットしますよ。

参考URL:http://www5e.biglobe.ne.jp/~access_r/hp/javascri …
    • good
    • 0

こんにちは。



PHPよりJavaScriptの処理になると思います。
(PHPはサーバにリクエストがあった上で動作する為
ブラウザ上での処理は何をしてるかわかりません)

動き的には

ページにアクセス後onLoadでJavaScriptを動かし、その時の時刻を取得。
取得後は1秒毎に現在の時間とアクセスした時の時間で何秒経過したか表示。
(タイマーを使用して1秒毎(厳密には1秒以下で呼びなおします))

submitを行うときにonSubmitで処理を行うことが出来るので
その中で経過した秒数をあらかじめ用意したhidden項目
(テキストフィールドに秒数を表示しているなら必要ない(readOnlyにしないと書き換えられてしまう可能性あり))

そうすれば、submit先のスクリプトで経過した秒数を取得することができます。

(リアルタイムに経過秒を表示する必要がなければセッションに時間を書き込んで、送信された先で比較すれば経過時間を知ることもできます)
    • good
    • 0

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