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

以下のような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が最初に読み込まれる時のみ動作するだけで、
以降は時間が更新されません。(テンポラリに残っていてそれが表示されている感じ?)
これをリアルに動作できる方法はあるのでしょうか?
それとも、こんな条件では実現不可能?

A 回答 (2件)

PHPとjavaScriptの連携プログラムですか?


PHPはサーバー側で実行されるプログラム。
JavaScriptはブラウザで実行されるプログラムです。
この基本を押さえ、
get_time()を考えてみましょう。
つまり、サーバーにリクエストを投げない限り 時間は変わりません。
JavaScriptで時間を取得したいならば ローカルの(ブラウザ)の時間でよければ <?=date()?>自体をJavaScriptに変更してみてはいかがでしょうか?
    • good
    • 0
この回答へのお礼

>(テンポラリに残っていてそれが表示されている感じ?)
どうも、ブラウザの問題だったようです。
現在は希望どおり、ボタンを押すたびに切り替わるようになりました。
お騒がせしました。

お礼日時:2006/02/21 01:25

Ajaxならば可能。



JavascriptでHTTP通信をして、PHPを呼び出すというやつ。

http://www.openspc2.org/JavaScript/Ajax/Ajax_stu …
    • good
    • 0
この回答へのお礼

httpオブジェクトを使う方法は知っていましたが、いまいち勉強しきれていませんでした。
これを機にajaxをしっかり学び精進します^^
ありがとうございました。

お礼日時:2006/02/21 01:29

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