人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: harunoharuno
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:JavaScript リロード 初期化 変数 記述
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● toshi009
●50ポイント ベストアンサー

リロードではないですが、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

◎質問者からの返答

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


2 ● yoccola
●50ポイント

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だけで判断できますね。

◎質問者からの返答

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


3 ● ardarim
●50ポイント

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

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


パラメータ渡しの参考

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

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ