2013-05-30 2 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으로 설정하면 모든 종류의 이상한 동작이 발생할 수 있습니다. 당신이 jQuery를 사용하는 일이면,

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

또는 :

window.onload = GetScreenWidth; 

아니면 : 당신은 아마과 같이 이벤트 핸들러에 GetScreenWidth에 대한 참조를 바인딩 할

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

감사합니다. 방금이 답을 찾았지만 감사합니다. 그것이 나를 허용 할 때, 나는 이것을 몇 분 안에 대답으로 표시 할 것입니다. – Travis

관련 문제