質問

私は、フォームを送信した後、

位置は、ウィンドウの一番上に戻ります。代わりに前の位置に行くの。

位置決幅をrememeberするscrollTopスプライトを使用して見てみるか、より良いアイデアを持っていますか?

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

役に立ちましたか?

解決 2

これをチェックしてください:

<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>

他のヒント

まず、あなたは、彼らがフォームを送信する際に訪問者がに取得したいページ内のアンカーを作成します。

次に、フォームのアクションやアンカーのファイルにポイントをリダイレクト

例えばます。

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

そして

 <form action="myfile.php#view_from_here" ....
あなたが提出する場合は、

あなたはそれが(あなたがとにかく同じページにリダイレクト場合、多分それは、オプションです)何も変わりませんAjaxを経て形成されます。あなたはまた、提出する前に、JavaScriptでクッキー内の位置を保存し、取得し、新しいページがロードされたときに値を設定することができます(たとえば、jQueryのscrollTo付き)。それとも、ただ(ユーザーがスクロール最後の位置である可能性が非常に高いです)、あなたのフォームフィールドの上にアンカーを設定し、フォームに戻ってスクロールした後に提出します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top