2009-07-06 17 views
2

フォームを送信すると、その位置はウィンドウの上部に戻ります。前の位置に行くのではなく。戻るボタンスクロール位置

スクロールトップを使ってポジションを思い出すか、より良いアイデアはありますか?

私はPHP5、jQuery、MySQLなどのものを使用しています。

+0

フォームは次のように何を求めず、どのようにそれを提出するのですか?あなたは断片などを参照していますか? – Gumbo

答えて

1

チェック:

<script type="text/javascript" src="der/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="der/jquery.cookie.js"></script> 
<script type="text/javascript"> 
function get_position(){ 
    var top_position = document.documentElement.scrollTop; 
    $.cookie('pos', top_position); 
}; 
function set_position(){ 
    var top_position = $.cookie('pos'); 
    window.scrollTo(0,top_position) 
    $.cookie('pos', null); 
}; 
</script> 
</head> 
<body onload="set_position();"> 
. 
. 
. 
<form method="post" action="" onsubmit="return get_position();"> 
</form> 
0

FormをAjax経由で送信しても、何も変更されません(同じページにリダイレクトするとオプションになる可能性があります)。新しいページがロードされたときに値を送信および取得して設定する前に、JavaScriptを使用してCookieの位置を保存することもできます(たとえば、jQuery scrollToを使用)。または、フォームフィールド(ユーザーがスクロールした最後の位置になる可能性が高い)にアンカーを設定し、送信後にフォームにスクロールします。

1

最初に、フォームを送信する際に訪問者にアクセスさせるアンカーをページに作成します。フォームのアクションで次に

またはアンカー

例えばのファイルにポイントをリダイレクト

<div id="view_from_here" >..... 

このうち

<form action="myfile.php#view_from_here" .... 
関連する問題