2011-09-30 4 views
0

사용자가 '이름'이라는 전역 변수를 가지고 있는데, 사용자가 버튼을 클릭하면 텍스트 상자 내용을 쿼리하고 '이름'이 내용으로 설정되고 그 이름이 다른 jquery 페이지.변수 설정이 요소를 통과하지 않음

내 이름은 설정 한 이름으로 인쇄되지 않습니다. 항상 원래 설정했던대로 인쇄됩니다. 내가 설정 한 단순 이름에 대한

<script type="text/javascript"> 
     $("#finalize").click(function(e) 
     { 
      g_name = "BLAH"; 
      return true; 
     }); 
    </script> 

그냥 클릭에 'BLAH'가 될 :

여기 내 콜백 함수입니다.

g_name은 전역 적으로 (즉, 함수 범위 외부에서) 선언됩니다. 다른 JQuery와 페이지에서

나는이 :

document.write('<label for="testname">Name:</label>'); 
       document.write('<input type="text" name="testname" id="testname" value="'); 
       document.write(g_name) 
       document.write('"/>'); 

그리고 g_name는 항상 처음에 initilized 된 어떤 g_name 다른 뭔가로 표시됩니다.

누구의 클릭 콜백 설정 그 차이를 만드는 경우 전역 변수는 페이지를 전환 버튼 ...

편집 : 내가 잘못 알아 냈어요 좋아

, 전역 변수가 존재했다 그것이 설정되기 전에 적어 두었다. 지금은이 작업을 수행하기 위해 노력하고있어 :

 <script type="text/javascript"> 
      $('#confirmscreen').bind('pageshow',function() 
      { 
       document.write('<label for="testname">Name:</label>'); 
       document.write('<input type="text" name="testname" id="testname" value="'); 
       document.write(g_name); 
       document.write('"/>'); 

       document.write(g_phonenumber); 
      }); 
     </script> 

그러나 JQuery와는 '의 pageshow'이벤트에 document.write를을 사용하여 좋아하지 않는 것, 그 말을 내가이 작품을 만들 수있는 방법이있다 웹 사이트가로드 될 때 페이지가 표시 될 때 g_name을 쓰지 않고 기록하십시오.

+0

요 - 당신은 knockoutjs를 고려해야합니다. Js로 작성된 관측 가능한 데이터 바인딩 시스템. –

+0

어떤 브라우저에서 이것을 시도하고 있습니까? 자바 스크립트 오류가 있는지 확인 했습니까? – AmGates

답변

1

.

희망이 도움이됩니다.

0

버튼으로 인해 페이지 위치가 변경되면 전역 변수가 재설정되고 두 번째 페이지에서 사용할 수 없습니다. 자바 스크립트에서 글로벌 변수는 윈도우 당, 윈도우 위치가 변경되면 새로운 글로벌 변수 세트입니다. 대신 document.write를는 자바 스크립트 방법 document.createElement()를 사용하여 생성 요소에 값을 할당 의 setAttribute() 메소드와 속성 사용

+0

새 웹 페이지로 이동하지 않고 동일한 웹 페이지의 새 jquery 페이지로 전환합니다. – tweetypi

관련 문제