- 締切済み
問題部分がJavascriptかPHPか分かりませんが....
以下のようなHTMLを記述しました。 私の希望するべき動作は、"click"ボタンを押すたびに時間表記が切り替わると言うものです。 条件として、時間の取得はphp側で行う。 ページのリロード,リダイレクトなどは行わない main.HTML <head> <script type="text/javascript" id="test" src="./time1.php"></script> <script Language="JavaScript"><!-- cnt = 0; function click_key(){ if(cnt == 0){ test.src = "./time3.php"; cnt = 1; }else{ test.src = "./time1.php"; cnt = 0; } document.smp.set_val.value = get_time(); } // --></script> </head> <body> <form name=smp> <input type=text name=set_val value="" size=50><br> <input type=button value=click onclick="click_key()"> </form> </body> testX.php function get_time(){ value_time = "<? echo date("H:i:s"); ?>"; 中略 return value_time; } test1.php test3.php にはそれぞれ上記のget_time()を含むコード記述がされています。 現状では、表示自体は切り替わりますがtest1.phpとtest3.phpが最初に読み込まれる時のみ動作するだけで、 以降は時間が更新されません。(テンポラリに残っていてそれが表示されている感じ?) これをリアルに動作できる方法はあるのでしょうか? それとも、こんな条件では実現不可能?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- moon_night
- ベストアンサー率32% (598/1831)
Ajaxならば可能。 JavascriptでHTTP通信をして、PHPを呼び出すというやつ。 http://www.openspc2.org/JavaScript/Ajax/Ajax_study/index.html
- cool-kid
- ベストアンサー率100% (2/2)
PHPとjavaScriptの連携プログラムですか? PHPはサーバー側で実行されるプログラム。 JavaScriptはブラウザで実行されるプログラムです。 この基本を押さえ、 get_time()を考えてみましょう。 つまり、サーバーにリクエストを投げない限り 時間は変わりません。 JavaScriptで時間を取得したいならば ローカルの(ブラウザ)の時間でよければ <?=date()?>自体をJavaScriptに変更してみてはいかがでしょうか?
お礼
>(テンポラリに残っていてそれが表示されている感じ?) どうも、ブラウザの問題だったようです。 現在は希望どおり、ボタンを押すたびに切り替わるようになりました。 お騒がせしました。
お礼
httpオブジェクトを使う方法は知っていましたが、いまいち勉強しきれていませんでした。 これを機にajaxをしっかり学び精進します^^ ありがとうございました。