Как прокрутить вверх, не заставляя страницу обновляться?

0

Я делаю страницу, содержащую форму, и я пытаюсь ее прокрутить назад, все, что я пытаюсь обновить. Любая идея избежать этого?

Здесь код скрипта:

function vizsgalja_h_ki_van_toltve()
{
    var csaladnev=document.getElementById("csaladnev").value;
    var keresztnev=document.getElementById("keresztnev").value;
    var CNP=document.getElementById("CNP").value;

    var magyar;
    for(var i=0; i<document.getElementsByName("magyar").length; ++i)
            if(document.getElementsByName("magyar")[i].checked) 
                    magyar=document.getElementsByName("magyar")[i].value;

    var roman;
    for(var i=0; i<document.getElementsByName("roman").length; ++i)
            if(document.getElementsByName("roman")[i].checked) 
                    roman=document.getElementsByName("roman")[i].value;                 

    var angol;
    for(var i=0; i<document.getElementsByName("angol").length; ++i)
            if(document.getElementsByName("angol")[i].checked) 
                    angol=document.getElementsByName("angol")[i].value;

    var tortenelem;
    for(var i=0; i<document.getElementsByName("tortenelem").length; ++i)
            if(document.getElementsByName("tortenelem")[i].checked) 
                    tortenelem=document.getElementsByName("tortenelem")[i].value;

    var irasbeli="";
    for(var i=0; i<document.getElementsByName("irasbeli").length; ++i)
            if(document.getElementsByName("irasbeli")[i].checked) 
                    irasbeli=irasbeli+document.getElementsByName("irasbeli")[i].value+"<br>";

    for(var i=0; i<document.getElementsByName("irasbeli2").length; ++i)
            if(document.getElementsByName("irasbeli2")[i].checked) 
                    irasbeli=irasbeli+document.getElementsByName("irasbeli2")[i].value+"<br>";


    if(!csaladnev || !keresztnev || !CNP)
    {
        document.body.scrollTop = document.documentElement.scrollTop = 0;
        document.getElementById("msg").innerHTML="Nincs minden adat kitöltve. Kérelek add meg ezeket.";// I want to make the page scroll to the top when this message appears.

    }

    else
    {
        document.getElementById("msg").innerHTML="";
        document.getElementById("form").innerHTML="<h3>A megadott adataid:</h3>Családnév: :"+csaladnev+"<br>Keresztnev: "+keresztnev+"<br>C.N.P: "+CNP+"<br><br><h3>Szóbelik:</h3>Magyar: "+magyar+"<br>Román: "+roman+"<br>Angol:"+angol+"<br>Történelem"+tortenelem+"<br><h3>Írásbelik:</h3>"+irasbeli;
    }

}

Это единственная функция, которая загружается после нажатия кнопки на странице. Я хочу, чтобы страница попала в верхнюю часть, если появится это сообщение (я добавил комментарий в код).

Редактировать: Может быть, если я сделаю якорь сверху, но как мне туда попасть из сценария?

  • 0
    Попробуйте if(document.getElementById("msg")) { window.scrollTo(0,0); }
Теги:

2 ответа

0

Добавьте к этой head вашего кода:

<div id="top" style="display:none;"></div>

И используйте это в своем javascript:

window.location = "#top";

Он должен работать, если нет ошибки.

Вы должны увидеть эффект с помощью этого фрагмента:

<div id="top"></div><div style="display:block;height:100%;width:100%;background-color:#000000;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div><a href="#" onclick='window.location="#top";'>top</a>
  • 0
    Пример добавлен. Почему бы не проверить это? Скажите мне после того, как вы проверили это. Я удалю его позже и выложу код здесь :)
  • 1
    Почему div а не якорь? <a id="top"></a> Они должны использоваться в следующих случаях: w3.org/TR/html401/struct/links.html#h-12.2.3
Показать ещё 5 комментариев
0

Попробуйте это, возможно, это помогает

window.onload = function() { setTimeout (function () {  scrollTo(0,0); }, 0);}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню