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

PHP javascript間の値の受け渡し

created: 2005-07-22 10:31 | modified: 2005-07-22 12:38 | reply: 2

[2401] PHP javascript間の値の受け渡し

user: 石田 | created: 2005-07-22 10:31
 初めまして、石田と申します。
 とある事情で、予定表を作ることになりまして。日付(2つのセレクトボックス)を動かすと、動的に予定が切り替わっていくというものを作っているのですが、値を2つ受け渡す事ができず、困惑しております。
 テスト中のソースがこんな感じです。選択した値をインナーフレームを使って受け渡し、選択した値をsel1はnum1にsel2はnum2に、返すという形です。

00.php-------------------------------------------------
<?php

print "<FORM action=\"\" METHOD=\"POST\" NAME=\"f\">";
print "<SELECT NAME=\"sel\" ONCHANGE=\"ChangeSelection()\">";
print "<OPTION VALUE=\"0\" SELECTED>0";
print "<OPTION VALUE=\"1\">1";
print "<OPTION VALUE=\"2\">2";
print "<OPTION VALUE=\"3\">3";
print "<OPTION VALUE=\"4\">4";
print "<OPTION VALUE=\"5\">5";
print "</SELECT>";
print "<SELECT NAME=\"sel2\">";
print "<OPTION VALUE=\"0\" SELECTED>0a";
print "<OPTION VALUE=\"1\">1b";
print "<OPTION VALUE=\"2\">2c";
print "<OPTION VALUE=\"3\">3d";
print "<OPTION VALUE=\"4\">4e";
print "<OPTION VALUE=\"5\">5f";
print "</SELECT>";
print "<INPUT NAME=\"num\" SIZE=\"20\">";
print "<iframe src=\"0x.php\" name=\"ifr\" id=\"ifr\" width=\"0\" height=\"0\"
marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" scrolling=\"no\" align=\"top\">";
print "</iframe>";

print "</FORM>";
print "<HR>";

print "<form name=\"f2\">";
print "<input type=\"text\" name=\"num2\" size=\"20\">";
print "</form>";

?>
<SCRIPT LANGUAGE="JavaScript">
function ChangeSelection() {
var str = document.f.sel.value;
var stra =document.f.sel2.value; ←で二個目のデータを受け渡したいと思って書きました。
window.ifr.location.href="0x.php?dx="+str;
}
//-->
</SCRIPT>
------------------------------------------------------

0x.php------------------------------------------------
<?php

extract($_GET);
print "<script language=\"javascript\">\n";
print "<!--//\n";
print "parent.document.f.num.value = $dx;\n";
print "parent.document.f2.num2.value = $dy;\n";
print "//--></script>";
?>
------------------------------------------------------
 ※location.hrefの部分の書き方が解らなかったので、そのままにしておきました。理想は、strを$dxへ、straを$dyへ受け渡したいと言う感じです。

 と、このような具合なのですが、2つの値を0x.phpへ受け渡す事はできるのでしょうか。
 何卒、よろしくお願いします。
reply: 2402 返信 編集 削除

[2402] Re:PHP javascript間の値の受け渡し

user: ぱぴよん | created: 2005-07-22 12:06
石田さんはじめまして、ぱぴよんと申します。


> window.ifr.location.href="0x.php?dx="+str;
window.ifr.location.href="0x.php?dx="+str+"&dy="+stra;

> extract($_GET);
これでうまくいかなければ、以下を試してみてください。
$dx = $_GET['dx'];
$dy = $_GET['dy'];


URLの後ろにGETで値を2つ以上付加したい場合には
URL?hensu1=a&hensu2=b&
のように&で区切ってあげる必要があります(@^-^@)
Parent: 2401  reply: 2403 返信 編集 削除

[2403] 的確な返答ありがとうございます。

user: 石田 | created: 2005-07-22 12:38
 言われて見ると、かなりのケアレスミスをしてたようです。
 無事に動作する事ができました。

00.php-------------------------------------------------
<?php

print "<FORM action=\"\" METHOD=\"POST\" NAME=\"f\">";
print "<SELECT NAME=\"sel\" ONCHANGE=\"ChangeSelection()\">";
print "<OPTION VALUE=\"0\" SELECTED>0";
print "<OPTION VALUE=\"1\">1";
print "<OPTION VALUE=\"2\">2";
print "<OPTION VALUE=\"3\">3";
print "<OPTION VALUE=\"4\">4";
print "<OPTION VALUE=\"5\">5";
print "</SELECT>";
print "<SELECT NAME=\"sel2\">";
print "<OPTION VALUE=\"0\" SELECTED>0a";
print "<OPTION VALUE=\"1\">1b";
print "<OPTION VALUE=\"2\">2c";
print "<OPTION VALUE=\"3\">3d";
print "<OPTION VALUE=\"4\">4e";
print "<OPTION VALUE=\"5\">5f";
print "</SELECT>";
print "<INPUT NAME=\"num\" SIZE=\"20\">";
print "<iframe src=\"0x.php\" name=\"ifr\" id=\"ifr\" width=\"0\" height=\"0\"
marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" scrolling=\"no\" align=\"top\">";
print "</iframe>";

print "</FORM>";
print "<HR>";

print "<form name=\"f2\">";
print "<input type=\"text\" name=\"num2\" size=\"20\">";
print "</form>";

?>
<SCRIPT LANGUAGE="JavaScript">
function ChangeSelection() {
var str = document.f.sel.value;
var stra =document.f.sel2.value;
window.ifr.location.href="0x.php?dx="+str+"&dy="+stra;
}
//-->
</SCRIPT>
------------------------------------------------------

0x.php------------------------------------------------
<?php

$dx=$_GET["dx"];
$dy=$_GET["dy"];
print "<script language=\"javascript\">\n";
print "<!--//\n";
print "parent.document.f.num.value = $dx;\n";
print "parent.document.f2.num2.value = $dy;\n";
print "//--></script>";
?>
------------------------------------------------------

 おかげさまで、完成できそうです。
 またご迷惑をおかけするかも知れませんが、よろしくお願いします。ありがとうございました。
Parent: 2402  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 405 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

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