Использование JS для поддержания позиции прокрутки DIV при обратной передаче ... Нужна помощь - PullRequest
0 голосов
/ 06 апреля 2011

Мы пытаемся использовать JS для поддержания позиции прокрутки DIV при обратной передаче стандартной формы.Существует несколько решений для ASP, PHP и т. Д., Но мы кодируем их в собственной конструкции CGI, поэтому эти решения не работают для нас.

Я нашел этот скрипт на вашей странице, написанный несколько лет назад Эриком Паскарелло (см. Ниже).Он работает отлично для того, что мы пытаемся выполнить, за исключением одной основной проблемы - он записывает в cookie, и нам нужно, чтобы он записывал в скрытое поле.

Благодаря полному раскрытию информации я являюсь инженером-программистом и довольно хорошо разбираюсь в различных формах написания сценариев - однако я ужасно ужасен в JS.Я уверен, что решение простое и смотрит мне в глаза, но я не уверен, что изменить.

<script type="text/javascript"> 
window.onload = function(){ 
var strCook = document.cookie; 
if(strCook.indexOf("!~")!=0){ 
var intS = strCook.indexOf("!~"); 
var intE = strCook.indexOf("~!"); 
var strPos = strCook.substring(intS+2,intE); 
document.getElementById("'+divTest4+'").scrollTop = strPos; 
} 
} 
function SetDivPosition(){ 
var intY = document.getElementById("'+divTest4+'").scrollTop; 
document.title = intY; 
document.cookie = "yPos=!~" + intY + "~!"; 
} 
</script> 
<div id="'+divTest4+'" onscroll="SetDivPosition()" style="width:150px;height:200px;overflow:auto"> 
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/> 
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/> 
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/> 
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/> 
ERIC<br/> 
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/> 
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/> 
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/> 
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/> 
</div> 

Заранее спасибо всем, кто может помочь.

GC Hutson Sadien Интеллектуальная собственность gch@sadien.com (615) 869-0022 x 8100

1 Ответ

0 голосов
/ 06 апреля 2011

Можете ли вы получить значение скрытого поля при отправке страницы обратно на сервер?Если это так, вы можете заменить var strCook = document.cookie; на var strCook = document.myForm.hidElement.value на странице.Затем, когда страница находится на сервере, перед отправкой запроса обратно клиенту вы можете отобразить этот скрытый элемент со значением, которое вы только что получили на сервере.

...