положение прокрутки кнопки назад
Вопрос
После того, как я отправлю форму, позиция вернется в верхнюю часть окна.Вместо того, чтобы возвращаться на предыдущую позицию.
Рассматриваете возможность использования 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).Или вы просто устанавливаете привязку к полю вашей формы (которое, скорее всего, будет последней позицией, до которой пользователь прокрутил страницу) и возвращаетесь к форме после отправки.