JavaScriptコーディング

表示・非表示を保持したままページのリロード

2008年08月09日
昨日の続きです(ツリークリックで表示On・Off)。

JavaScriptではかけないので、PHPを併用します。


クリックで、表示・非表示を切り替えるとき、htmlのフォームの値を書き換えます。

JavaScript
表示のとき
document.reduce.pr_mode.value = "on";
非表示のとき
document.reduce.pr_mode.value = "off";

html
<form name="reduce" onload="tree(0)">
 <input type="hidden" name="pr_mode" value="off">
</form>


ページが表示されるとき$pr_modeの値によって、ツリーの展開・非展開を切り替えます。
$pr_mode="off"(非表示)のときは
<div id="tree0" style="display:none;>

$pr_mode="on"(表示)のときは
<div id="tree0">

更に、クリックしたとき展開。非展開を保持したい全てのリンクに$pr_modeの値付け足してやります。
今までのリンク先URLが
http://test.com/cate_tenkai.php?cate=1
のときは、
http://test.com/cate_tenkai.php?cate=1&pr_mode=on

http://test.com/cate_tenkai.php?cate=1&pr_mode=off


これでやっと展開を保持したままリロードできます。