2017-09-20 1 views
0

Im essayant de mettre à jour les valeurs Firebase récupérées, mais je reçois une erreur: Erreur: Reference.child échoué: Le premier argument était un chemin invalide = "". Les chemins doivent être des chaînes non vides et ne peuvent pas contenir ".", "#", "$", "[" Ou "]" firebase.js: 324: 31719, pas sûr de ce qui cause ce problème.mise à jour firebase avec les valeurs récupérées montre l'erreur Reference.child échoué

Voici le code:

var ref=firebase.database().ref("REGISTRATION"); 
var key; 

function callUpdateFunction(){ 
var email,name, gender, birthdate, phone, state, school, clas, classname; 
    name = document.getElementById("name").value; 
    email = document.getElementById("email").value; 
    gender = document.getElementById("gender").value; 
    birthdate = document.getElementById("birthdate").value; 
    phone = document.getElementById("phone").value; 
    state = document.getElementById("state").value; 
    school = document.getElementById("school").value; 
    clas = document.getElementById("clas").value; 
    classname = document.getElementById("classname").value; 

    var dataUpdate={}; 

    dataUpdate.name = name; 
    dataUpdate.email = email; 
    dataUpdate.gender = gender; 
    dataUpdate.birthdate = birthdate; 
    dataUpdate.phone = phone; 
    dataUpdate.state = state; 
    dataUpdate.school = school; 
    dataUpdate.class = clas; 
    dataUpdate.classname = classname; 

Dans la fenêtre de la console du navigateur je reçois une erreur à ce point

ref.child(key).set(dataUpdate).then(function() 
{ 

    init(); 

    document.getElementById("EditContent").style.display="none"; 
}) 
} 
+0

salut, l'homme, pouvez-vous s'il vous plaît mettre un débogueur près DataUpdate et placez votre souris dessus et mettre à jour la question avec une capture d'écran et également une valeur clé est définie ou vide ?. – MuruGan

+0

Hé mec es-tu là? – MuruGan

+0

Désolé, je ne peux pas ajouter des images en fonction de ma réputation ainsi téléchargé ici: https://i.stack.imgur.com/Izy7R.png | https://i.stack.imgur.com/6bkLU.png | https://i.stack.imgur.com/MrfXt.png AUSSI DEBUGGER N'AFFICHE AUCUNE DONNEE SUR LA SOURIS, TOUTES LES AUTRES CLES ONT DES VALEURS. –

Répondre

0

Dans votre ligne de clé jsFiddle est en fait 10, mais vous avez donné 9 donc la valeur de clé est une chaîne vide, votre code est

$('#append tr').find('td:eq(10)').hide(); //your hiding your key as td:eq(10) but in your get value you took 9's value. 

key = $(this).find('td:eq(9)').map(function() {return $(this).text();}).get().join(" "); 

Alors changez le à 10 et essayez de mettre à jour y nos données

See the updated js fiddle version

+0

Son jusqu'à maintenant, fonctionne très bien, très apprécié votre aide, je vais m'assurer que mon upvote compte une fois que j'ai 15 réputations, Passez une bonne journée :) –

+0

Hey, juste une question rapide, comment puis-je faire rafraîchir la table d'édition de la page de formulaire après avoir ajouté des données à feu de base, je dois rafraîchir manuellement pour voir les nouvelles données ajoutées, j'ai essayé plusieurs commandes dans Javascript et JQuery, window.reload, window .location, .load de JQuery mais ils ne fonctionnent pas, plus tôt j'utilisais child_added et il récupérait les données automatiquement mais puisque dans votre code il n'y a pas de child_added, pas sûr de la façon de le faire .. –

+0

encore une fois appeler init() methodf une fois Vous ajoutez des données à la firebase – MuruGan