テキストフィールドに現在の時刻を表示する


動作ブラウザ 【 IE:3.0  NN:2.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows - - -
Macintosh - - -
UNIX - - - - - - - -
Dreamcast - - - - - - - - - - -

ポイント dt = new Date(); h = dt.getHours(); m = dt.getMinutes(); s = dt.getSeconds(); document.myFORM.time.value = h+"時"+m+"分"+s+"秒"; setTimeout("pTime()",1000);
説  明 テキストフィールドに時刻をリアルタイムに表示させるにはsetTimeout()を使って定期的にフォーム内容を書き換える関数を呼び出すようにします。この時に毎回「dt = new Date()」のようにDateオブジェクトを生成する必要があります。このようにしないと現在時刻を得ることはできません。
サンプル <html> <head> <title>テキストフィールドに現在の時刻を表示する</title> <script Language="JavaScript"><!-- function pTime() { dt = new Date(); h = dt.getHours(); m = dt.getMinutes(); s = dt.getSeconds(); document.myFORM.time.value = h+"時"+m+"分"+s+"秒"; setTimeout("pTime()",1000); } // --></script> </head> <body onLoad="pTime()"> <form name="myFORM"> 現在時刻:<input type="text" name="time"> </form> </body> </html>
補足説明 setTimeout()の代わりにsetInterval()を使うこともできます。setInterval()は一度呼び出し関数を指定するだけで定期的に処理が行われます。

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA