Javascriptでリロード後にリロード時の処理を追加したいと思っているのですが、リロードをする際に変数の値とかが初期化されてしまい条件分岐処理とかを記述できません。リロード時の処理記述方法として良い方法などありましたら教えていただきたく宜しくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/04/07 01:50:03
  • 終了:2007/04/08 22:44:27

ベストアンサー

id:toshi009 No.1

toshi009回答回数3ベストアンサー獲得回数12007/04/07 03:35:29

ポイント50pt

リロードではないですが、URLにくっつければ下記のように出来ます。

他には、クッキーを使用する場合と、隠しフレームを使用して隠しフレーム側に値を保持させる方法があります。(こちらは、リロード可です)

<html>
<head>
<script>
function reload()
{
	location.href = "test.html?value=" + document.forms[0][0].value;
}

function load()
{
    if(location.search != null &amp;&amp; location.search != "")
    {
        alert("入力テキスト:" + location.search.replace("?value=", ""));
    }
}

</script>
</head>
<body onload="load()">
<form>
<input type="text" /><input type="button" onclick="reload()" value="reload"/>
</form>
</body>
</html>

test.htmlという名前で保存してください。

入力したテキストがアラーと表示されます。

クッキーの参考サイト:http://www.tohoho-web.com/wwwcook.htm

id:harunoharuno

教えていただいた方法で実装することが出来ました。ありがとうございました。

2007/04/08 22:38:49

その他の回答(2件)

id:toshi009 No.1

toshi009回答回数3ベストアンサー獲得回数12007/04/07 03:35:29ここでベストアンサー

ポイント50pt

リロードではないですが、URLにくっつければ下記のように出来ます。

他には、クッキーを使用する場合と、隠しフレームを使用して隠しフレーム側に値を保持させる方法があります。(こちらは、リロード可です)

<html>
<head>
<script>
function reload()
{
	location.href = "test.html?value=" + document.forms[0][0].value;
}

function load()
{
    if(location.search != null &amp;&amp; location.search != "")
    {
        alert("入力テキスト:" + location.search.replace("?value=", ""));
    }
}

</script>
</head>
<body onload="load()">
<form>
<input type="text" /><input type="button" onclick="reload()" value="reload"/>
</form>
</body>
</html>

test.htmlという名前で保存してください。

入力したテキストがアラーと表示されます。

クッキーの参考サイト:http://www.tohoho-web.com/wwwcook.htm

id:harunoharuno

教えていただいた方法で実装することが出来ました。ありがとうございました。

2007/04/08 22:38:49
id:toteri No.2

yoccola回答回数52ベストアンサー獲得回数32007/04/07 03:40:45

ポイント50pt

http://dummy/

持ち越したい変数をhiddenで渡してあげるのはどうでしょうか?

リロード=既に一度JavaScriptを実行済み

だとしたら、そのJavaScriptの中で

var foo = "";

document.formname.reload_flg.value = 1;

document.formname.hensuu.value = '変数に入れたい値';

を記述して、HTMLのhiddenタグ

<input name="reload_flg" type="hidden" value="" />

<input name="hensuu" type="hidden" value="" />

に値を設定し、二度目以降(reload_flgが設定されているとき)はhiddenで渡した値をvar fooに入れて使用する、っていう感じで。

単純な条件分岐だけだったらreload_flgだけで判断できますね。

id:harunoharuno

リロードしてもhiddenの時は値が残るんですね。今回は、この方法を用いませんでしたが、多くのパラメータを渡したいときに用いることにします。

2007/04/08 22:41:10
id:ardarim No.3

ardarim回答回数896ベストアンサー獲得回数1442007/04/07 03:45:19

ポイント50pt

リロードする際に、保持したい変数の値をURLのクエリ文字列(?...)で渡せると思います。

リロードされたとき、locaion.searchでクエリ文字列を取得できますので、必要な値を取り出して変数に再セットできます。


パラメータ渡しの参考

http://www.red.oit-net.jp/tatsuya/java/bgm3.htm

id:harunoharuno

いつも回答していただきありがとうございます。すでに答えていただいている内容でしたが、参考資料として役立ちました。またよろしくお願いします。

2007/04/08 22:43:35

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません