Tengo un código que guarda texto en Firestore y funciona, pero solo funciona cuando haces clic en el campo de texto después de escribir.
Esto guarda en Firestore. Cambié el texto entre ("...") después de getElementById a la identificación del botón, pero eso no guarda nada. Pero si lo tengo como la identificación del campo de texto, el texto se guarda al hacer clic en el campo de texto después de escribir.
document.getElementById("hrtitle").addEventListener("click", function saveHeroTitle() { const title = document.getElementById('hrtitle').value; console.log(title); const heroTitleRef = doc(db, "pages", "homePage"); // something around line 42 vv setDoc(heroTitleRef, { heroText: title, }, {merge: true}).then(function() { console.log("Hero Title Saved"); }).catch(function(error){ console.log("Error: ", error); }); });Código para el campo de texto y el botón.
<label for="uetitle">Update Hero Title</label> <input type="text" id="hrtitle" name="hrtitle"> <button class="save-button" id="hrtitleSave" type="submit">Save</button>¿Cómo hago para que el texto se guarde al hacer clic en el botón?
Parece que está usando la identificación incorrecta para obtener su botón. Este código debería estar funcionando:
document.getElementById("hrtitleSave").addEventListener("click", function saveHeroTitle() { const title = document.getElementById('hrtitle').value; console.log(title); const heroTitleRef = doc(db, "pages", "homePage"); // something around line 42 vv setDoc(heroTitleRef, { heroText: title, }, {merge: true}).then(function() { console.log("Hero Title Saved"); }).catch(function(error){ console.log("Error: ", error); }); });__
<label for="uetitle">Update Hero Title</label> <input type="text" id="hrtitle" name="hrtitle"> <button class="save-button" id="hrtitleSave" type="submit">Save</button>