Как сделать так, чтобы браузер прокручивал страницу вверх после отправки формы во фрейме? - PullRequest
3 голосов
/ 12 мая 2009

У меня есть страница с iframe. В iframe есть форма, предназначенная для этого фрейма. Кнопка отправки находится внизу, но страница результатов короткая и появляется вверху. Поэтому, когда пользователь нажимает кнопку «Отправить», форма исчезает, но результаты не отображаются, потому что они прокручиваются слишком далеко.

Вместо того, чтобы просто поместить кучу пробелов на страницу результатов, я бы хотел, чтобы представление было перенастроено. Есть ли способ сделать это, когда пользователь нажимает кнопку отправить?

Ответы [ 3 ]

6 голосов
/ 12 мая 2009

Попробуйте это:

<form onsubmit="parent.scrollTo(0, 0); return true"> ...

Понятия не имею, насколько он совместим с разными браузерами.

2 голосов
/ 12 мая 2009

Вы можете сделать это, используя jquery :

http://www.learningjquery.com/2007/09/animated-scrolling-with-jquery-12

Прототип

$(element).scrollTo();

http://www.prototypejs.org/api/element/scrollto

Вам просто нужно получить доступ к элементу в вашем фрейме.

Надеюсь, это поможет

edit: поскольку это библиотеки, вы избежите проблем с кросс-браузерами / совместимостью

0 голосов
/ 12 мая 2009

Вызовите функцию javascript, как показано ниже при отправке формы:

function ScrollTop(){
        if (document.all){
        document.body.scrollLeft = 0;
        document.body.scrollTop = 0;
        }
    else{
        window.pageXOffset = 0;
        window.pageYOffset = 0;
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...