【问题标题】:html file button not clickinghtml文件按钮没有点击
【发布时间】:2020-11-04 09:00:59
【问题描述】:

我有这个代码来检查用户是否登录,如果用户没有登录,它会将用户重定向到登录页面登录,如果他/她已经登录,他们将被允许在页面上上传内容。这是代码:

let vocals = document.getElementsByClassName("up");// class name of certain divs in the program
for (let i = 0; i < vocals.length; i++) {
  vocals[i].addEventListener("click", () => {
    let check = "php/checkCookie.php";
    fetch(check, { method: "GET" })
      .then((res) => res.text())
      .then((data) => {
        if (data == 0) {
          shout("Login Before You Can Create", 0);
          setInterval(() => {
            location.href = "logincheck.html";
          }, 3000);
        } else {
          document.getElementById(`e${i}`).click();
        }
      });
      ...
  });
}

代码:

document.getElementById(`e${i}`).click();

应该打开文件资源管理器,以便用户可以选择文件并上传,但它不起作用,也没有显示错误。

那些知道原因并有解决方案的人,在此先感谢

【问题讨论】:

  • 也许它只是被弹出窗口拦截器阻止了?
  • 在我添加 if else 语句之前它工作了

标签: javascript php file-io fetch-api


【解决方案1】:

也许你的元素不支持 click() ?如果我没记错的话,click() 对几个元素起作用,但不是全部。它应该适用于 &lt;input&gt;&lt;a&gt;

你也可以试试这个: document.getElementById(`e${i}`).dispatchEvent(new MouseEvent('mousedown')) document.getElementById(`e${i}`).dispatchEvent(new MouseEvent('mouseup'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 2022-01-28
    • 1970-01-01
    相关资源
    最近更新 更多