スレッド表示 | フラット表示〕 全トピック 920 件中 678 番目 次≫ ≪前

iframeの変数取得について

created: 2004-02-22 16:12 | modified: 2004-02-23 08:33 | reply: 3

[1309] iframeの変数取得について

user: クロス | created: 2004-02-22 16:12
初めまして、PHP 初心者のクロスと申します。

早速なのですが、iframeの変数が取得出来無いのです。
Topの変数は、通常通り取得できています。

ソースを掲載します。(必要な部分だけ)
何処が、おかしいのかをご指摘頂ければ、幸いです。
======================= Top の内容 ========================
<SCRIPT language="JavaScript">
<!--
function doSubMit(form, moji){
form.mode.value=moji;
form.submit();
return;
}
//-->
</SCRIPT>

<BODY>
<form name="tenpolist" method="post" action="tenpolist.php">
<table border="0" cellSpacing="0" cellPadding="0">
<COL span="1" width="300">
<COL span="1" width="100">
<COL span="1" width="50">
<TR height="10"><td></td></TR>
<tr>
<td><font size="4"> 店舗マスタ</font></td>
<td><input type="button" name="button1" value="店舗追加" onClick="doSubMit(this.form, 'append');"></td>
<td><input type="button" name="button2" value=" 登 録 " onClick="doSubMit(this.form, 'EDIT');"></td>
</tr>
<TR height="10"><td>
<input type="hidden" name="mode" value="">
</td></TR>
</table>
<table class="simple" rules="all" cellSpacing="0" cellPadding="0">
<TR><td>
<IFRAME name="if1" src="ten_list_titol.php">
このページを表示するには、インラインフレーム対応のブラウザが必要です。
</IFRAME>
</td></tr>
<TR><td>
<IFRAME name="if2" src="ten_list_mei.php">
このページを表示するには、インラインフレーム対応のブラウザが必要です。
</IFRAME>
</td></tr>
<TR height="10"><td></td></TR>
<tr>
<td></td>
</tr>
</table>
</form>
<?php
print "tenpo_id1 = " . $_POST['tenpo_id1'] . "<BR>\n";
print "tenpo_id2 = " . $_POST['tenpo_id2'] . "<BR>\n";
print "mode = " . $_POST['mode'] . "<BR>\n";
print_r($_REQUEST) . "<BR>\n";
?>
</BODY>


======================= ten_list_mei.php の内容 ========================
<BODY>
<form name="tenpolist" method="post" action="tenpolist.php">
<table class="simple" rules="all" cellSpacing="0" cellPadding="3" width="99%">
<COL span="1" width="20%">
<COL span="1" width="46%">
<COL span="2" width="13%">
<COL span="1" width="17%">
<tr bgcolor="#ffffff" valign="bottom">
<TD align="center" height="24">
<input type="text" name="tenpo_id1" size="5" maxlength="6" value="101">&nbsp;</TD>
<TD><input type="text" name="tenpo1" size="39" maxlength="100" value="一二三四五六七八九店"></TD>
<TD><input type="text" name="ten_first1" size="8" maxlength="8" value="佐藤"></TD>
<TD><input type="text" name="ten_last1" size="8" maxlength="8" value="一太郎"></TD>
<TD><input type="text" name="zandaka1" size="10" maxlength="10" value="348,205"></TD>
</tr>
<tr bgcolor="#ffffff" valign="bottom">
<TD align="center" height="24">
<input type="text" name="tenpo_id2" size="5" maxlength="6" value="202">&nbsp;</TD>
<TD><input type="text" name="tenpo2" size="39" maxlength="100" value="九八七六五四三二一店"></TD>
<TD><input type="text" name="ten_first2" size="8" maxlength="8" value="田中"></TD>
<TD><input type="text" name="ten_last2" size="8" maxlength="8" value="花子"></TD>
<TD><input type="text" name="zandaka2" size="10" maxlength="10" value="473,580"></TD>
</tr>
</table>
</form>
</BODY>

以上です。
よろしく、お願い致します。
reply: 1311 返信 編集 削除

[1311] できないと思います(というかできません)。

user: hamaji | created: 2004-02-22 18:57
インラインフレームでなくても、たとえば
『a.php』と『b.php』があり、『a.php』の変数を『b.php』で取得できないのとおなじで、
変数のスコープの構造上ひとつのスクリプト内でのみ有効です。
http://www.php.net/manual/ja/language.variables.scope.php

JavaScript等を使って値を受け渡すしかないと思います。
<a href="javascript:Window.parent.location.href='parent.php?a=1&b=2&c=3'">ここをクリック</a>
というような感じです。
Parent: 1309  reply: 1312 返信 編集 削除

[1312] もしかして

user: hamaji | created: 2004-02-22 19:42
変数の取得というのは『フォーム変数』のことですか?
文章からはそれがわかりません。
また、長?いソースは読む気がしませんので必要最小限だけを載せるほうが良いと思います。

さて
それだったら<form>タグにtarget="_top"を
入れてやればいいと思います。

<iframe src="child.php">
このページを表示するには、インラインフレーム対応のブラウザが必要です。
</iframe>
<br>
<?php
echo "変数の内容は" . $_POST['a'] . "です";
?>

<form method="post" action="parent.php" target="_top">
<input type="text" name="a">
<input type="submit" name="sbmt" value="送信">
</form>
Parent: 1311  reply: 1314 返信 編集 削除

[1314] Re.もしかして

user: クロス | created: 2004-02-23 08:33
クロスです。
hamajiさん、ご回答有り難う御座います。

> 変数の取得というのは『フォーム変数』のことですか?
はい、フォーム変数の事です。

> それだったら<form>タグにtarget="_top"を
> 入れてやればいいと思います。
画面イメージは、topにタイトル等があり、iframe内に明細が表示されるものです。
topにsubmitボタンがあり、これを押す事で、行を追加したり、
データを更新したりしたいのです。
明細は、行が増えるとスクロールして、ボタンがある所まで、
移動してからでないと押せないので、この様に
して見たのですが、旨く行かないのです。
と言うか、iframe内も自動的に扱ってくれると思っていました。
明細だけを追加、更新すれば良い様に、仕様を替えて、
もう少し、施行錯誤して見ます。

 有り難う御座いました。
Parent: 1312  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 678 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑