每次单击按钮均从Firebase读取数据,而无需刷新

时间:2020-11-03 01:20:21

标签: javascript firebase firebase-realtime-database nosql addeventlistener

我是Web应用程序编程的初学者。我的目标是从实时Firebase数据库接收数据。 因此,我有这段代码可从实时Firebase应用程序读取。当我这样做时,我实际上可以看到输出。我的问题是,如果我在输入框中更改值并再次提交而不重新加载页面,则javascript将无法运行新的输入值。

enter image description here

对于Internet中的控制台输出: enter image description here

问题出在这里,如果我在不刷新页面的情况下将输入框中的值更改为“ 1”,则我的程序将不会接受该输入并对其进行处理。检查以下内容: enter image description here

假设返回值0,并且在我用圆圈标记的地方应该说“ 1”。如果我刷新页面,然后将1放入输入框,则效果很好。但是如果我变回2而没有刷新。同样的问题。

我只是想做同样的事情,而无需用户在输入新数据时刷新页面。 希望有人能对您有所帮助:)我看了太多教程,可以从数据库中读取内容,但是我不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

您可以使用oninput JS事件来捕获更改后的值

var standNr = document.getElementById("standNr");
standNr.oninput = function() {
  console.log(standNr.value);
}
<input type="text" id="standNr"/>

答案 1 :(得分:0)

defineStand.addEventListener('submit', (e) => {

    var stand_number = document.getElementById("standnr").value
    var dbRef = database.ref('stand/' + stand_number + '/status')
    
    e.preventDefault()

    dbRef.on('value', function(snapshot) {
      console.log(snapshot.val())
    })
    
    console.log(stand_number)
    console.log(dbRef)
})

我现在解决了。完美工作:D 我的问题是定义变量后没有放置e.preventDefault:)

enter image description here