如何修复未重定向到正确页面的按钮?

时间:2019-07-18 08:03:42

标签: javascript html

我正在尝试基于数据库中的信息创建一个动态按钮列表(使用NeDB)。因此,我能够调用数据,创建按钮并添加一个eventListener,但是,事件侦听器中的地址似乎无法重定向到正确的页面。看来是重新加载了页面。我的问题是,有没有人解释为什么会发生这种情况,是否有解决方案?

我一直试图尝试更改代码的顺序,以便在将按钮附加到表单之前添加按钮的eventListener。我也尝试使用window.open();代替location.href="";,但两者都不起作用。

window.onload = function() {
  fetch('/address').then((res) => {
    status = res.status;
    return res.json();
  }).then((jsonData) => {
    for (var i = 0; i < jsonData.length; i++) {
      localAddress = localStorage.getItem("address");

      if (jsonData[i].address == localAddress) {
        var room = jsonData[i].room;
        var roomname = room.name;
        var roomcondition = room.condition;
        var newButton = document.createElement("button");
        newButton.innerHTML = roomname;
        if (roomcondition == true) {
          newButton.style.backgroundColor = "#00ff00";
        } else {
          newButton.style.backgroundColor = "#ff0000";
        }
        var form = document.getElementById("myForm");
        newButton.addEventListener("click", function() {
          window.open("http://localhost:8080/" + room + ".html", "_self");
        });
        form.appendChild(newButton);
      }
    }
  }).catch((err) => {
    console.error(err);
  });
}

0 个答案:

没有答案