我正在尝试将数据推送到我的 Firebase 数据库中。我成功地输入了 1 个用户输入字段。但是现在我试图在我的数据库中有一个跨度值(它根据控制它的 slider 悬挂其编号)这是指我的 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;
executionName 工作正常,我在数据库中看到结果:
但是我的跨度似乎在这里不起作用,这是我的 JS 和跨度字段:
function writeData(){
firebase.database().ref("Exercise").set({
nameExercise: exerciseName.value,
setAm: setAmount.value,
})
}
<span id="dynamicSet"></span>
你知道我哪里错了吗?我也尝试过不使用innerHTML 或不使用and value 以及不使用..
最佳答案
只需执行setAmount
,而不是setAmount.value
。
const exerciseName = document.getElementById("exercise-search");
在这里,您将 exerciseName
设置为一个元素
const setAmount = document.getElementById("dynamicSet").innerHTML;
但在这里您将 setAmount
设置为元素的innerHTML。
所以,苹果和橙子:
您的第一个变量被设置为 HTML 元素的 DOM 表示形式,因此它将具有各种属性,
但是你的第二个变量被设置为不同元素的innerHTML的字符串值——并且作为字符串,它不会具有那些DOM属性。
关于javascript - Firebase 推送 1 个输入值而不是 Span?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60886222/