2009-07-06 60 views
2

我提交表單後,位置將返回到窗口的頂部。而不是去上一個位置。返回按鈕滾動位置

看看使用scrolltop來記住位置還是你有更好的主意?

我使用的東西像PHP5,jQuery和MySQL。

+0

是什麼樣子的形式,你如何提交?你引用一個片段或類似的東西嗎? – Gumbo 2009-07-06 13:07:52

回答

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

如果你通過Ajax提交你的表單,它不會改變任何東西(也許這是一個選項,如果你重定向到相同的頁面)。您也可以在提交和檢索之前通過JavaScript將位置保存在Cookie中,並在新頁面加載時設置值(例如,使用jQuery scrollTo)。或者您只需在您的表單字段上設置錨點(很可能是用戶滾動到的最後一個位置),然後在提交後滾動回表單。

1

首先在您的頁面中創建一個您希望訪問者提交表單時所需的錨點。

然後在你的表單操作或重定向點與錨

例如到文件

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

然後

<form action="myfile.php#view_from_here" ....