为什么它说我的var未定义

时间:2017-03-21 09:49:44

标签: javascript jquery html

我无法理解为什么这不起作用:它应该采用("#name")的文本并写入我点击按钮打开的另一个html页面,但当我打开另一页时,它会说"用户名"未定义,如何传递该值?

username = [];

$("#main_page").ready(function() {
  $("#name").focus();   

  $("#name").keydown(function(e) {
    if (e.which === 13) {
      console.log("ok");
      $('#login').click();
    }
  });

  $("#login").click(function() {
    username[0] = $("#name").val();
    console.log(username);
    window.location.replace("chat");
  });
});

$("#chat").ready(function(){
  console.log(username[0] + " recived");
  $("#username_title").append(username[0]);
});

使用$('#chat').ready是不是错了?因为它也运行在main_page中填充的代码。

在两个文件html中我给了身体使用.ready的id,但我觉得它错了

2 个答案:

答案 0 :(得分:0)

关于页面加载和页面卸载的全部内容

变量的范围就在这些事件内部意味着没有jq js或任何Web代码(客户端)将在之前或之后工作

意味着您无法编写代码并期望它在页面重新加载一个全新的开始后工作虽然您可以将用户名作为查询字符串传递并在重新加载页面后获取

答案 1 :(得分:0)

您可以输入"用户名"在一个cookie中,获取"用户名"来自下一页的cookie" chat"。您也可以使用localStorage或sessionStorage而不是cookie。