アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもありがとうございます。初心者です。御指導お願いします。
テキストにリンクを貼って、クリックと同時にiframeの2ヶ所のページにGETでデータが送信され、同じ値がGETで自身のページにも送信され
自身とiframeの3つのページが同時に更新されるようにしたいのですが、下記の記述では、GETで送信されて、iframe内のページは更新されるのですが、自身のページは更新ボタンを押さないと内容が更新されません。
テキストリンクをクリックしただけで、自身のページとiframe内の2つのページを同時更新できる方法を教えて下さい。

<SCRIPT language="JavaScript">
function Syncro(mPage,cPage,sPage){
parent.main.location.href=mPage;
parent.control.location.href=cPage;
self.location.href=sPage;
}
</SCRIPT>

phpで書いたページ内のテキストリンクです。
<A HREF="Javascript:Syncro('right.php?entry_day=2008-02-04','top.php?entry_day=2008-02-04','offer_calender.php?entry_day=2008-02-04')">2008-02-04</a>

phpで書いたページ内のiframe のページ
<td bgcolor="#999999"><iframe src="right.php?entry_day=2008-02-04" name="main" width="300" height="330" scrolling="yes"></iframe></td>
<td bgcolor="#3399CC"><iframe src="top.php?entry_day=2008-02-04" name="control" width="677" height="330" scrolling="yes"></iframe></td>

A 回答 (2件)

昨日読んで他のフレームの事じゃないと成り立たない話なので あれ?って思っていましたが




>offer_calender.php で
>その中のiframe のリンク先に
>riht.php
>top.php
>を指定しております。

これで アンカーがクリックされたら
offer_calender.php を offer_calender.php?entry_day=2008-02-04
と言う呼び出しを行うのですよね?

offer_calender.php?entry_day=2008-02-04が呼ばれた時点で
前の処理のJavaScriptでのlocation指定は全く無意味です。
2つのiframeはoffer_calender.phpごと消滅しますから。


JavaScriptは一切不要ですよ。

アンカーを
<A HREF="offer_calender.php?entry_day=2008-02-04">2008-02-04</a>

offer_calender.php のPHPで、受け取ったデータからiframeのsrcを指定変更。
無処理で単純に書けば、iframeのHTML部分は

<iframe src="right.php?<?=$_SERVER['QUERY_STRING']?>"></iframe>
<iframe src="top.php?<?=$_SERVER['QUERY_STRING']?>"></iframe>
これで目的は果たせます。

ってのが #1さん が書いてる事だと思いますよ。

この回答への補足

ありがとうございます。
GETでデータとしては受渡しがうまく行くのですが、
受渡しの日付の日のテーブルの指定日の
<td bgcolor-"#990000">日付</td>
の背景色を変えようとするのですが、日付は変われど
背景色は、更新ボタンを押さないと分かりません。

どうしてなのでしょう?

補足日時:2008/02/05 14:41
    • good
    • 0
この回答へのお礼

うまく動くことができました。

自分の間違いにも気付きました。

どうも御指導ありがとうございました。

お礼日時:2008/02/05 15:58

self.location.hrefを変更した時点でその中にあるインラインフレームは消滅します。



offer_calendar.phpが出力するHTMLの中で、

<iframe src="right.php?entry_day=2008-02-04"></iframe>
<iframe src="top.php?entry_day=2008-02-04"></iframe>

を入れれば良いと思います。

この回答への補足

ご返事遅くなりました。ご解答ありがとうございます。
記述の補足を致します。

phpで書いているページと言うのは、
offer_calender.php で
その中のiframe のリンク先に
riht.php
top.php
を指定しております。
そこでoffer_calender.php内の日付を変更した際に
rigth.phpとtop.php への日付の更新は出来たのですが、
offer_calender.php内での日付からoffer_calender.php内の
他のデータの内容を更新したいのですが、変更できません。

どうぞよろしくお願いします。

補足日時:2008/02/05 13:42
    • good
    • 0

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