我试图将数据从一个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 :(得分:0)
问题出在 page2.ejs :
问题:解析并执行<td id="event"></td>
块时,HTMLElement <script>
尚不可用,因此document.getElementById("event")
返回undefined。
解决方案:将<script>
块移至<td id="event"></td>
下方的底部,它应该有效。
答案 1 :(得分: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
});
答案 2 :(得分:0)
你应该在script标签中定义Send()函数 和页面2在页面就绪时运行java脚本
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("event").innerHTML = localStorage.getItem("message");
});