Intenté lo siguiente, pero solo funciona al enviar el formulario o actualizar la base de datos de Firestore.
Quiero enviar mi formulario primero y luego, después de enviar el formulario, quiero actualizar un documento en Firestore.
<form action='/search' method="post"> <input type="text" value="{{ query }}"/> <input type="submit" value="submit"/> </form>y mi codigo javascript
<script> function update() { db = firebase.firestore() db.collection("users").doc(userid).update({ "number": 2, }) .then(() => { console.log("Document successfully written!"); }) .catch((error) => { console.error("Error writing document: ", error); }); } </script>Intercepte el envío del formulario y luego envíelo programáticamente a través de una solicitud asincrónica (para que su página actual no se vuelva a cargar). Después de esto, llame al código para actualizar su db.
Consulte este artículo para obtener un código de muestra sobre cómo interceptar el envío de su formulario y luego realizar una solicitud asincrónica. Su llamada para actualizar su base de datos entrará en el bit que dice .done(function (data) {