10180 sujets

JavaScript, DOM et API Web HTML5

Bonjour cher internautes !

J'ai un problème de novice !
J'importe le contenu de ma bdd ( uptNom, uptEmail), ca fonctionne sauf que j'aimerais bien pouvoir modifier son contenu directement dans le resultat, avec ce code je suis obliger d'importer le contenu de Nom et Email via un input externe au retour du snap. C'est galère, faudrait qu'il créer un ID random pour chaque entrée. En PHP je ferais ainsi mais ca marche pas ( uptNom[] et uptMail[] )

var rootRef = firebase.database().ref().child("Users");

rootRef.on("child_added", snap => {

var maKey = snap.key;
var name = snap.child("Name").val();
var email = snap.child("Email").val();

$("#table_body").append("<tr class='mdl-data-table__cell--non-numeric'><td><input type='text' id='uptNom' value='" + name + "'></td><td><input type='text' id='uptMail' value='" + email + "'></td><td><button value='" + maKey + "' onclick='updateContent(this.value)'>Upt</button><button value='" + maKey + "' onclick='delContent(this.value)'>REMOVE</button></td></tr>");

});

Je récupére bien l'ID de chaque résultat dans maKey, mais il récupére pas le contenu de mes inputs

var modifnom = document.getElementById("uptNom"); // Le problème est par ici je pense
var modifmail = document.getElementById("uptMail");

function updateContent(value) {

var nom2 = modifnom.value;
var mail2 = modifmail.value;

var database = firebase.database();
var userRef = database.ref().child('Users');
var key = value;
var update = {};
update Smiley key = {
Name: nom2,
Email: mail2
};

var result = userRef.update(update);

window.alert(result);

}


Merci d'avance, je butte las dessus depuis 2 jours, je trouve pas d'explication claire, a moins que je sois débile depuis le début, c'est aussi une possibilité Smiley smile

var rootRef = firebase.database().ref().child("Users");

rootRef.on("child_added", snap => {

var maKey = snap.key;
var name = snap.child("Name").val();
var email = snap.child("Email").val();

$("#table_body").append("<tr class='mdl-data-table__cell--non-numeric'><td><input type='text' id='uptNom' value='" + name + "'></td><td><input type='text' id='uptMail' value='" + email + "'></td><td><button value='" + maKey + "' onclick='updateContent(this.value)'>Upt</button><button value='" + maKey + "' onclick='delContent(this.value)'>REMOVE</button></td></tr>");

});


var modifnom = document.getElementById("uptNom"); // Le problème est par ici je pense
var modifmail = document.getElementById("uptMail");

function updateContent(value) {

var nom2 = modifnom.value;
var mail2 = modifmail.value;

var database = firebase.database();
var userRef = database.ref().child('Users');
var key = value;
var update = {};
update Smiley key = {
Name: nom2,
Email: mail2
};

var result = userRef.update(update);

window.alert(result);

}


J'ai rien modifié par ce que j'ai pas compris ton problème, mais j''ai utilisé les balises codes pour les autres
Modifié par JENCAL (14 May 2018 - 14:38)
Ok, merci quand même pour l'attention Smiley smile

Mon problème, j'essai de modifier le contenu sauf qu'il ne prend pas en compte les champs #uptNom et #uptMail.