2011-07-21 40 views
1

我有一些JavaScript代碼可以根據隱藏的輸入字段獲取並設置滾動位置。Javascript錯誤:無法獲得價值,即使它不爲空

<input type="hidden" id="scroll" runat="server" value="0" /> 

<script type="text/javascript" > 
    function setScroll() { 
     document.getElementById('scroll').value = document.getElementById("scrollDiv").scrollTop; 
    } 

    function scrollToPos { 
     document.getElementById("scrollDiv").scrollTop = document.getElementById("scroll").value; 
    } 

由於某種原因它說隱藏的輸入字段的值總是未定義的。有沒有人有任何解釋?

回答

2

因爲你有runat =「服務器」在那裏它可能會改變其生成的ID。

試試這個:

<script type="text/javascript" > 
    var scrollId = "<%= scroll.ClientID %>"; 

    function setScroll() { 
     document.getElementById(scrollId).value = document.getElementById("scrollDiv").scrollTop; 
    } 

    function scrollToPos { 
     document.getElementById("scrollDiv").scrollTop = document.getElementById(scrollId).value; 
    } 
</script> 
+0

大尖 - 可能是一個相當容易的事情被忽視。謝謝您的幫助 :) –