2013-05-30 142 views
0

我在嘗試將屏幕寬度篩選到頁面加載的隱藏字段時收到未實施的錯誤。看着其他類似的問題,他們都建議將所有內容都放在變量中,並確保我沒有使用保留字。我有,我不是(我知道的)。Javascript未實施錯誤

function GetScreenWidth() { 
    var sWidth = screen.width; 
    var hfSw = document.getElementById("<% =hfScreenWidth.ClientID %>"); 
    hfSw.value = sWidth; 
} 
window.onload = GetScreenWidth(); 

本來,我是用

function GetScreenWidth() { 
    document.getElementById("<% =hfScreenWidth.ClientID %>").value = screen.width; 
} 

最終,我試圖讓屏幕寬度回代碼隱藏。如果有更好的方法來做到這一點,我很樂意聽到他們。

編輯:隱藏字段定義在標籤上面。

+0

你使用的是什麼瀏覽器?什麼行會拋出錯誤?它是服務器錯誤還是JavaScript錯誤? –

回答

3

我在IE中看到這個錯誤消息,當設置意外的值給事件處理程序。基本上,您將onload設置爲值undefined(因爲這是您的函數返回的值),這可能會導致各種奇怪的行爲。你可能想參考綁定到GetScreenWidth到事件處理程序,就像這樣:

window.onload = GetScreenWidth; 

或許:

window.onload = function() { 
    var sWidth = screen.width; 
    var hfSw = document.getElementById("<% =hfScreenWidth.ClientID %>"); 
    hfSw.value = sWidth; 
}; 

或者,如果你碰巧使用jQuery:

$(function() { 
    var sWidth = screen.width; 
    var hfSw = document.getElementById("<% =hfScreenWidth.ClientID %>"); 
    hfSw.value = sWidth; 
}); 
+0

謝謝。我只是自己找到了這個答案,但是謝謝。我會在幾分鐘內將它標記爲答案,當它讓我。 – Travis