2014-04-27 91 views
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

嘗試'如果(的document.getElementById( 「味精」)){窗口.scrollTo(0,0); }' – mdesdev

回答

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

謝謝! :))) – user3578184

+0

添加一個示例。爲什麼不檢查一下?在您檢查後告訴我。我將在此後刪除它並在此處發佈代碼:) – Jamie

+1

爲什麼選擇'div'而不是錨? ''它們應該用於以下情況:http://www.w3.org/TR/html401/struct/links.html#h-12.2.3 – pablopixel

0

嘗試,這可能是它有助於

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