【问题标题】:Firebase pushes 1 input value and not Span?Firebase推送1个输入值而不是Span?
【发布时间】:2020-03-27 21:34:40
【问题描述】:

我正在尝试将数据推送到我的 firebase 数据库中。我设法输入了1个用户输入字段。但是现在我试图在我的数据库中有一个跨度值(它根据控制它的滑块挂起它的数字)这是指我的writeData函数的错误(在下面)

Error: Reference.set failed: First argument contains undefined in property 'Exercise.setAm'

我有从 html 获得的这两个值:

const exerciseName = document.getElementById("exercise-search");
 const setAmount = document.getElementById("dynamicSet").innerHTML;

executiveName 工作正常,我在我的数据库中看到了结果:

但是我的跨度似乎在这里不起作用是我的 JS 和跨度字段:

function writeData(){
    firebase.database().ref("Exercise").set({
        nameExercise: exerciseName.value,
        setAm: setAmount.value,
    })
}

<span id="dynamicSet"></span>

你知道我哪里出错了吗?我也试过没有 innerHTML 或没有和 value 和没有..

【问题讨论】:

    标签: javascript html firebase firebase-realtime-database


    【解决方案1】:

    只做setAmount,而不是setAmount.value

    const exerciseName = document.getElementById("exercise-search");

    在这里你将exerciseName 设置为一个元素

    const setAmount = document.getElementById("dynamicSet").innerHTML;

    但是这里你将setAmount 设置为元素的innerHTML。

    所以,苹果和橘子:

    您的第一个变量被设置为一个 HTML 元素的 DOM 表示,因此它将具有各种属性,

    但是您的第二个变量被设置为不同元素的 innerHTML 的字符串值——作为字符串,它不会具有那些 DOM 属性。

    【讨论】:

    • 这太疯狂了!我尝试了几乎所有的组合,但那个。非常感谢您的解释
    • @ZK-2500z 耶!如果这回答了您的问题,您可以单击左侧的 √ 对号,如果有帮助,您可以单击 ^ 向上箭头。这有助于向其他用户显示问题是否已得到解答和/或是否有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    相关资源
    最近更新 更多