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

初めまして。こんにちは。

早速ですが質問です。
もし判ったら教えて下さい。

画面:HTML + Javascript + PHP
内部処理:PHP + PostgreSQL

何がしたいのか、は、以下の通り。

1. リンク元 A画面に 幾つかリンクがある。
リンクの左側にはチェックボックスが付いている。

checkbox1 リンク B → B画面へ
checkbox2 リンク C → C画面へ

checkbox12 リンク M → M画面へ

2. A画面のリンクより、B画面が別ウィンドウにて表示
B画面には、チェックボックスが2~20コ付いている。
(ココからのリンクは無し)

B画面の内容は、
checkbox1 なんとか
checkbox2 かんとか

checkbox20 どーとか
となってて、checkboxのカタマリ。

3. A画面で checkbox1=True の場合、B画面のチェックボックスは全て
Trueになる。
また、A画面で checkbox1=Falseの場合、B画面のチェックボックス
は全てFalseになる。

というのを作りたいのです。

2画面開いて親子関係を作れば出来ます。
(確認済み)
が、2画面ではなく、1画面のみで上記のを作りたいんです。
A画面checkbox1 → B画面へ切替
とか
A画面checkbox1 → C画面へ切替
など。

色々やってみているんですが、うまくいきません。
ヨロシクお願い致します。

A 回答 (2件)

画面間でデータを受け渡すのに「親子関係を作る」以外ですと、urlに含ませる方法とcookieを利用する方法があります。


詳しくは参考URLをご覧ください。

参考URL:http://www.axis.t.u-tokyo.ac.jp/%7Eshunak/ecmasc …

この回答への補足

現在、cookieを利用してファイルを作成しています。
大体こんなカンジになりました。

[くっき0.html]
<html>
<head>
<title>クッキーへデータを書き込む</title>
<script language="JavaScript"><!--
function saveData()
{
theValue = document.myFORM.rchk0.checked;
alert( theValue );

document.cookie = escape(theValue);
}
// --></script>
</head>

<body>
渡されたデータ
<form name="myFORM">
<input type="checkbox" name="rchk0" onClick="saveData()"><br>
</form>
</body>
</html>

<a href="./くっき1.html">くっき1</a>
</body>
</html>

[くっき1.html]
<html>
<head>
<title>クッキーからデータを読み込む</title>
</head>
<body>
<form name="myFORM">
<input type="checkbox" name="chk1" ><br>
<input type="checkbox" name="chk2" ><br>
<input type="checkbox" name="chk3" ><br>
<input type="checkbox" name="chk4" ><br>
<input type="checkbox" name="chk5" ><br>

<script language="JavaScript"><!--
theData = "";
theName = "";
theCookie = document.cookie+";";
start = theCookie.indexOf(theName);
if (start != -1)
{
end = theCookie.indexOf(";",start);
theData = unescape(theCookie.substring(start+theName.length,end));
alert( theData );

}
for(i=0; i<document.myFORM.elements.length; i++) {
if(document.myFORM.elements[i].type == "checkbox"){
document.myFORM.elements[i].checked = theData;
}
}
// --></script>
</form>
</body>
</html>


現在 くっき0.htmlのチェックボックス=trueの時はうまくいってます。
が、falseの時はうまくいきません。

くっき1.html のアラートをみても false なんですが...
何故なのかが判りません。

上記ソースでおかしな点があったら教えて下さい。
よろしくお願い致します

補足日時:2005/02/22 20:59
    • good
    • 0
この回答へのお礼

steel_gray様

返信ありがとうございます。
早速見てみます。

お礼日時:2005/02/22 18:57

cookieにセットした時点で真/偽ではなく、文字列として 'true'/'false'になっています。



'false'という文字列は真偽で言えば真なので常にcheckedにはtrueがセットされてしまいます。

くっき1.htmlの theData へ値をセットする場所か参照する場所に修正が必要になりますね。

この回答への補足

と、いうことで...
ソースの変更+テストしてみたところ、バッチリ出来ましたー!!\(^o^)/ヤッター!!

くっき1.htmlの変更箇所のみ、下記に記します。

'-----------

for(i=0; i<document.myFORM.elements.length; i++) {
if(document.myFORM.elements[i].type == "checkbox"){
if( theData == 'true' )
document.myFORM.elements[i].checked = true;
else
document.myFORM.elements[i].checked = false;
}
}

'-----------

やっとコレで先に進めます。
ありがとうございましたm(__)m

補足日時:2005/02/23 09:51
    • good
    • 0
この回答へのお礼

steel_gray様

ご返信ありがとうございます。

成程!!
そういうコトなんですね。
意味が判らなくて「何故?」と思っていたのですが、よく考えてみればその通りですよね。

# ヒトに言われて気付くっていうのもなんだかなぁ(-_-;)

ちょっとソース変更してみます。

お礼日時:2005/02/23 09:46

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