为了账号安全,请及时绑定邮箱和手机立即绑定

使用按钮单击事件时,Firestore 不会添加新记录(网络)

使用按钮单击事件时,Firestore 不会添加新记录(网络)

潇湘沐 2023-04-01 15:14:40
我是 Firebase Firestore 的新用户。我有一个集合(“词汇”),我想添加新文档(“单词”、“含义”)。该代码有效并添加了新记录。但是当我使用相同的代码在单击按钮后执行时,它不起作用并且没有错误代码。当我在 click 函数下编写 Alert("test") 以测试是否被调用时,我看到“test”消息没有问题。我认为,它表明监听器在点击时被调用。但我认为 add() 部分没有被调用。可能的原因是什么?此代码有效:      database.collection("vocabulary").add({        word:"Book",        meaning:"xxx",      })      .then(function() {        console.log("Document successfully written!");      })      .catch(function(error) {        console.error("Error writing document: ", error);      });但相同的代码在按钮单击下不起作用:<button id="savebutton">Insert Record</button>......const save=document.querySelector("#savebutton");  save.addEventListener("click",function() {       database.collection("vocabulary").add({        word:"Book",        meaning:"xxx",      })      .then(function() {        console.log("Document successfully wriiten!");      })      .catch(function(error) {        console.error("Error writing document: ", error);      });    }); 
查看完整描述

1 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

OP 通过添加以下代码解决了该问题:


x.preventDefault();

从我收集的内容来看,更新后的代码看起来像这样:


<button id="savebutton">Insert Record</button>

    ......


const save=document.querySelector("#savebutton");

  save.addEventListener("click",function(x) {

  x.preventDefault(); 

      database.collection("vocabulary").add({

        word:"Book",

        meaning:"xxx",

      })

      .then(function() {

        console.log("Document successfully wriiten!");

      })

      .catch(function(error) {

        console.error("Error writing document: ", error);

      });

    });

因此,根据公共文档,OP 阻止了“x”的默认操作,解决了这个问题。



查看完整回答
反对 回复 2023-04-01
  • 1 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信