2016-06-17 5 views
0

다른 자바 스크립트를 사용 하나의 HTML 페이지에서 데이터를 전송, 그래서 나는이 프로그램을 작성하는 방법 :내가 다른 페이지에 하나의 HTML 페이지에서 데이터를 전송하기 위해 노력하고있어

page1.ejs :

<a href="/events" onclick="send()"> 
    <span class="message"> 
    new alert 
    </span> 
</a> 

function send() { 
    $mesg = $('.message'); 
    var msg = $mesg.text(); 
    var msg1 = msg.replace(/\s/g, ''); 
    localStorage.setItem("message", msg1); 
} 

page2.ejs :

<script src="socket.io/socket.io.js"></script> 
<script> 
    document.getElementById("event").innerHTML = localStorage.getItem("message"); 
</script> 
<td id="event"></td> 

하지만 페이지에서 전송 된 데이터를 얻을하지 않습니다? 내 실수는 뭐니?

+0

로컬 저장소 원점 당 (도메인 및 프로토콜 당) 때 스크립트 태그 2 페이지 실행 내부 전송() 함수를 자바 스크립트를 정의해야합니다. 한 원점의 모든 페이지는 동일한 데이터를 저장하고 액세스 할 수 있습니다. 두 페이지가 같은 출처에서 온 것인지 확인하십시오. – Kld

답변

0

문제는 page2.ejs에 있습니다

문제 : 당신의 <script> 블록이 너무 document.getElementById("event") 반환 정의, 분석 및 실행시는 HTMLElement <td id="event"></td>는 아직 제공되지 않습니다.

해결책 :<script> 블록을 하단의 <td id="event"></td> 아래로 이동하면 작동합니다.

0
page1.ejs: 

    On click of submit - 
     window.location.href="page2.ejs.html?text1="+$('#text1').val() 

    page2.ejs: 

    $(document).ready(function(){ 
    var value1 = document.URL.indexOf('?text1=');//value from pag1.ejs 

    }); 
0

페이지 준비

document.addEventListener("DOMContentLoaded", function() { 
document.getElementById("event").innerHTML = localStorage.getItem("message"); 
}); 
관련 문제