【问题标题】:Reading data from firebase everytime button is clicked, without having to refresh每次单击按钮时都从 firebase 读取数据,而无需刷新
【发布时间】:2020-11-03 01:20:21
【问题描述】:

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

对于互联网上的控制台输出:

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

假设返回值 0,我用圆圈标记的地方应该说“1”。如果我刷新页面然后将 1 放入输入框中,它工作正常。但是如果我不刷新就改回2。同样的问题。

我只想做同样的事情,而无需用户在每次输入新数据时都刷新页面。 希望有人可以提供帮助:) 我看了很多从数据库读取的教程,但我不知道该怎么做。

【问题讨论】:

  • 在 Stack Overflow 上,不要分享代码和文字的图片。将文本复制到问题本身中,以便于阅读、复制和搜索。

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


【解决方案1】:

你可以使用oninputJS事件来捕获一个值被改变的时候

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

【讨论】:

    【解决方案2】:

    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 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2021-08-27
      相关资源
      最近更新 更多