Когда я добавляю opmerking
к дочернему узлу с именем «leerling», используя .push()
, новый узел фактически добавляется без проблем, но непреднамеренно заменяется существующий узел opmerking
.Firebase push не добавляет, а заменяет
У меня есть аналогичная проблема до этого, см. Сообщение Firebase push doesn't add but replace (JavaScript), которое затем было разрешено, но это решение здесь не применяется.
Here является скрипкой полного исходного кода. Пожалуйста, просто измените имя базы данных firebase на свой собственный (или имеется ли тестовая/демонстрационная база данных?), Чтобы проверить ее.
$(document).ready(function(){
$("#submit").click(function(){
var _leerling = $("#Leerling").val();
var _opmerking = $("#Opmerking").val();
var _bestanden = $("#Bestanden").val();
var _door = $("#Door").val();
var success = true;
if(
_leerling == "Maak een keuze..." || _leerling == "" || _leerling == "5H:" || _leerling == "6V:" ||
_opmerking == "Typ hier jouw opmerking over de leerling die je geselecteerd hebt." || _opmerking == "" ||
_door == "Maak een keuze..." || _door == ""
) {
alert("Alle velden met * zijn verplicht");
}
else {
event.preventDefault();
var ref = new Firebase("https://torrid-inferno-6428.firebaseio.com/");
var leerlingNummer = _leerling.substring(0,6).trim();
var updatedObj = {}; // truc om key een waarde te geven, kan niet rechtstreeks met JavaScript
updatedObj[leerlingNummer] = {
"naam": _leerling.substring(7,33).trim(),
"klas": _leerling.substring(34,38),
"klaskort": _leerling.substring(35,37),
"leerlingdropdown": _leerling};
ref.child("leerling").update(updatedObj,
function(data) {
if (data) { alert(data); success = false; }
});
ref.child("leerling").child(leerlingNummer).child("opmerkingen").push({
"opmerking": _opmerking,
"bestanden": _bestanden,
"door": _door},
function(data) {
if (data) { alert(data); success = false; }
if (success) {
alert("Bedankt! Jouw opmerking is opgeslagen.");
$('#form')[0].reset(); //To reset form fields
}
});
}
});
});
Хорошая добыча Seamus! Вы избили меня на 6 минут. :-) –
@FrankvanPuffelen Спасибо. Иногда мне повезло. :) – Seamus
@Seamus вот оно, спасибо! – user1837293