2011-11-06 8 views
0

URL (GET 메소드)을 통해 동적으로 생성 된 페이지가 있습니다. 그러나, 나는 또한 몇 가지 자바 스크립트 기능을로드하고자바 스크립트의 초기 입력 값

<input type='hidden' name='device' id='device' value='abcd' /> 

, 나는 그들에게 '장치'의 초기 값을 읽을 수 있도록 하나를 원하는이 동적 페이지는 다른 물건을 많이들 사이에서 HTML의 다음 행을 생성 , 초기 페이지로드에서 초기 값을 읽을 수없는 것 같습니다. 페이지가로드 된 후 javascript 함수가 다시 시작되면이를 읽습니다.

나는 intial 페이지 로딩 장치,

jQuery(document).ready(function(){ 
    var device = jQuery('#device').val(); 
}); 

때 디버깅 파일 내의 .js에 다음 코드를 사용하고 단순히 어떤 아이디어가 '정의되지 않은'누구로 설정? 감사.

브라이언

+0

* 어떻게 디버깅하고 있습니까? 해당 코드 예제에서 설정 한 후 어디서 읽으려고합니까? – Quentin

+0

콘텐츠를로드하는'$ .ajax()'또는'$ .get()'호출이 발생했다는 것을 의미합니까? 그래서 비동기 적으로로드되고'async : true'로드 된 컨텐츠가로드되기 전에'$ .ready()'가 실행됩니다. 콘텐츠 로딩에서'async : false' 설정을 시도 했습니까? –

+0

크롬 개발자 도구 사용 – bpmccain

답변

1

이이 요소는 당신이 그 가치 찾고있는 시간을 사용할 수 없습니다 의미합니다, 당신은 onload 이벤트를 사용하거나 </body> 태그 전에 스크립트를 넣을 수 있습니다.

이 작동합니다 :

$(window).load(function(){ 
    var device = jQuery('#device').val(); 
}); 
+1

'$ (document) .ready'를 사용하여 "onloaded"bu는 이미되어 있지 않습니까? – ZenMaster

+0

@ZenMaster : OP마다, 확실히 말할 수 없기 때문에 동적으로 생성됩니다. – Sarfraz

1

을 당신은 당신이 AJAX 요청에 대한 응답으로받은 HTML과 함께 그 자바 스크립트 기능을로드하는 경우 - 순간하여 JS이 코드를 실행하는 것이 가능하다 :

jQuery(document).ready(function(){ 
    var device = jQuery('#device').val(); 
}); 

기존 DOM을 나타 냅니까? body을 새로 고침하지 않은 경우 수신 된 HTML을 기존 DOM에 삽입 할 때이 이벤트가 표시되지 않습니다.