2013-06-18 2 views
-1

나는 웹 사이트를 구축하고 있습니다 ... 양식을 page1.html에 작성한 후 모든 필드를 전역 개체에 저장하고 다른 페이지 (page2.html)로 이동하려고합니다. page2.html에서 나는 그 매개 변수를 얻는다고 생각했습니다.글로벌 개체를 사용하여 새 페이지로 이동

나는 탐색 버튼을 만들어 :

<a href= "page2.html"><input type="submit" name="submit" id="submit1" value="Go" /> </a> 

그리고 page1.html의 끝 부분에 기능을 추가 :

<script> 
    $("#submit1").click(function() { 
    shareObject = new Object(); 
    shareObject.name = $("#name").val(); 
    shareObject.email = $("#email").val(); 
    shareObject.phone = $("#phone").val(); 
    shareObject.address= $("#address").val(); 

    window.shareObject = shareObject; 
    }); 
</script 

내가 공유 개체의 속성에 의해 그 값을 얻을 수 page2.html의 생각 - shareObject, 예 :

그러나 page2.htmlshareObject을 인식하지 못합니다.

왜 그런가? 아니면 그것을 구현하는 것이 더 좋은 아이디어일까요?

+0

이미 두 번째 페이지를 호출 첫 페이지에서 양식이있는 경우; 왜 당신은'$ _POST [...]'또는'$ _GET [...]'이외의 다른 변수들에 접근하기를 원하십니까 – Jaay

+0

새로운 페이지에 새로운 DOM이 있습니다. 그래서 값을 공유 할 수 없습니다 내가 그랬던 것처럼. –

답변

2

원하는 방식으로는 사용할 수 없지만 다음과 같은 방법으로 가능합니다.

  1. HTML5 로컬 스토리지 용도 : localStorage.setItem() &의 getItem()
  2. HTML5 sessionStorage 상기와 동일.
  3. 로컬 쿠키. window.cookie
  4. HTML5 websql http://slides.html5rocks.com/
+0

다른 페이지에 저장할 수 없다면 모든 전역 매개 변수는 어떻게됩니까? – oleg

+0

위의 모든 HTML5 옵션을 사용하여 모든 전역 매개 변수를 직렬화하고 다른 페이지로 저장하고 다시 얻을 수 있습니다. html5를 사용하지 않으면 아약스 또는 서버 측 세션 처리가 가장 좋은 방법입니다. –

+0

가격 및 물건을 전달하기 위해 html5 저장소를 사용하는 것이 안전합니까? 사용자가 변경할 수 없습니까? – oleg

0

페이지가 다시로드되면 모든 JavaScript 변수가 재설정됩니다. 귀하의 사이트가 정적 경우 귀하의 웹 사이트가 당신이 그것을 구현하는 더 나은 방법이 새로운 변수 어쩌면

0

아이디어로 새 페이지를 서버에이 변수를 전달하고 렌더링 할 수있는 동적 인 경우, 당신은, 부분적으로 다른 페이지를 업데이트 ajax를 사용해야합니까?

왜 다른 페이지로 이동해야합니까? 왜 폼의 다른 부분을 보이지 않게 보이게 만듭니 까?

+0

이유는 장바구니 페이지로 이동하고, 매개 변수 양식 중 일부는 page1에서, 다른 페이지는 다른 페이지에서 가져온 것입니다. – oleg

관련 문제