• ベストアンサー

ボタンをクリックしたらページを更新

javascriptでボタンをクリックしたらページの更新をしたいです。 リロードかな?と思ったのですが、ボタンをクリックすると、そのページの一番上にいってしまうんです。 今見てる状態でブラウザの「更新」を押したような動作をして欲しいのですが、できるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

更新前にスクロールの位置を取得して、更新後にスクロールの位置を更新前の位置に戻せば良いですね。 スクロールの位置を何処に保持しておくかは、お使いの環境に合わせて考えてください。 以下のような形でどうでしょう? <html> <head> <title>リロード</title> <script language="JavaScript"> <!-- function init(){ document.getElementById("bodyObj").scrollTop = location.search.split("=")[1]; return false; } function fixReload(){ location.href = "reloadTest.html?beforeScrollTop="+document.getElementById("bodyObj").scrollTop; return false; } // --> </script> </head> <body id="bodyObj" onLoad="init();"> 一番上 <br> <br> <br> (以下<br>タグ続く) <input type="button" value="リロード" onClick="fixReload();"> <br> <br> <br> <br> <br> <br> <br> <br> </body> </html>

w-inty
質問者

お礼

回答ありがとうございます。 そのままコピーして試してみたのですが、クリックを押すと、ファイル名がかわってしまうんです。 例えば「text.html」とした場合、 クリックをすると 「reloadTest.html」 となってしまいます。 このような場合はどうしたらいいでしょうか?

その他の回答 (4)

回答No.5

No.4に記したソースですが、reloadTest.htmlという名前で作成しました。 text.htmlとしたい場合は function fixReload(){ location.href = "reloadTest.html?beforeScrollTop="+document.getElementById("bodyObj").scrollTop; return false; } のreloadTest.htmlをtext.htmlに変えてください。

w-inty
質問者

お礼

すいません、無事できました。 ありがとうございました!!

回答No.3

回答しても表示されないのでもう一度投稿します。 もし2重投稿になってしまったら申し訳ないです。 リロード+ページ内リンクは、 <input type="button" value="リロード" onClick="location.reload('#0604');"> でできますよ。

w-inty
質問者

お礼

回答ありがとうございます。 早速このようにしてみました。 <INPUT TYPE="BUTTON" VALUE="アニメーション" onClick="location.reload('#0604');"> <A NAME="0604">KOKO</A> ページ内リンクはうまくいってるようですが、リロードが…。 どこか間違ってるでしょうか??

回答No.2

リロード+ページ内リンクでいいのなら <input type="button" value="リロード" onClick="location.reload('#0604');"> でできますよ。

回答No.1

リロードについてのページですが知識があまりないのであってるかどうかはわかりません

参考URL:
http://www.openspc2.org/JavaScript/library/etc/reload/index.html
w-inty
質問者

お礼

回答ありがとうございます。 やっぱりどうしても希望する動作にならなかったので、 リロード+ページ内リンク、という方法はどうだろうと思いやってみました。 <A HREF="#0604" onClick="location.reload()">LINK</A> <A NAME="0604">KOKO</A><BR> としてみたところ、リロードのみ動いて、ページ内リンクは動作しませんでした。 両方を実現したい場合はどうしたらいいのでしょうか?

関連するQ&A

専門家に質問してみよう