2

フォームを送信すると、位置がウィンドウの上部に戻ります。前の位置に行く代わりに。

スクロールトップを使用して位置を記憶することを検討していますか、それともより良いアイデアがありますか?

PHP5、jQuery、MySQL などを使用しています。

4

3 に答える 3

1

最初に、訪問者がフォームを送信したときに到達するアンカーをページに作成します。

次に、フォームアクションで、アンカーを使用してポイントをファイルにリダイレクトします

例えば

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

それから

 <form action="myfile.php#view_from_here" ....
于 2009-07-06T13:10:22.857 に答える
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>
于 2009-07-06T14:18:26.710 に答える
0

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

于 2009-07-06T13:08:50.517 に答える