Вопрос

После того, как я отправлю форму, позиция вернется в верхнюю часть окна.Вместо того, чтобы возвращаться на предыдущую позицию.

Рассматриваете возможность использования 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>

Другие советы

Сначала создайте привязку на своей странице, куда вы хотите, чтобы посетитель попадал при отправке формы.

Затем в вашей форме action или redirect укажите на файл с привязкой

например ,

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

тогда

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

Если вы отправите свою форму через Ajax, это ничего не изменит (возможно, это вариант, если вы все равно перенаправляете на ту же страницу).Вы также можете сохранить позицию в файле cookie с помощью JavaScript перед отправкой и извлечь и установить значение при загрузке новой страницы (напримерс помощью jQuery scrollTo).Или вы просто устанавливаете привязку к полю вашей формы (которое, скорее всего, будет последней позицией, до которой пользователь прокрутил страницу) и возвращаетесь к форме после отправки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top