2012-01-04 127 views
0

我遇到以下代碼的問題。 它顯示compliation錯誤: - 「標識符預期」。Asp.Net Javascript編譯錯誤:「標識符預期」

<script type="text/javascript" runat = "server"> 
function isOverElement(currentElement, targetId) 
     { 
      while (currentElement) 
      { 
       if (currentElement.id == targetId) 
        return currentElement; 

       currentElement = currentElement.parentNode; 
      } 

      return null; 
     } 
</script> 

的問題是在行: - 功能isOverElement(currentElement,目標ID) 其餘全部是確定的,我想。

請大家幫忙。 thnx

+0

我認爲這是一個js函數,而不是C#功能。所以刪除runat =服務器。 – 2012-01-04 13:01:03

+0

你想用'while(currentElement)'做什麼?在我看來,這是一種非常糟糕的編碼風格,常常會導致很多錯誤。 – reporter 2012-01-04 13:01:35

+0

@記者,實際上函數內部的行並不是我得到的錯誤的原因。我很確定。 – Kings 2012-01-04 13:11:50

回答

2

<script>標記中刪除runat="server"屬性。 JavaScript執行客戶端上,而不是在服務器上:

<script type="text/javascript"> 
    function isOverElement(currentElement, targetId) { 
     while (currentElement) { 
      if (currentElement.id == targetId) 
       return currentElement; 

      currentElement = currentElement.parentNode; 
     } 

     return null; 
    } 
</script> 
+0

非常感謝,你是對的 – Kings 2012-01-04 13:12:07

1

腳本標記不需要runat =「server」。嘗試刪除runat並查看它是否正常工作

+0

是的它的工作方式。謝謝:) – Kings 2012-01-04 13:12:25

1

請刪除RUNAT =「服務器」既然你已經寫了一個純JavaScript功能的標籤。

變化

<script type="text/javascript" runat = "server"> to <script type="text/javascript"> 
+0

謝謝讓我知道刪除runat =「server」標籤的原因。 – Kings 2012-01-04 13:12:58