Estoy haciendo una web de chats y necesito saber cómo pasar los datos de un formulario php a un archivo json. Si teneis alguna idea, responded, muchas gracias.
entre Desarrolladores
Recibe ayuda de expertos
Registrate y pregunta
Es gratis y fácil
Recibe respuestas
Respuestas, votos y comentarios
Vota y selecciona respuestas
Recibe puntos, vota y da la solución
Pregunta
1 Respuesta
Hola!
Como dije en el comentario anterior, es un algoritmo muy sencillo y te lo dejo aca:
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<!-- Aca tenemos un formulario cualquiera. Este formulario, con id "holamundo", solo tiene un campo con nombre "hola" y valor "mundo"-->
<form action="?" id="holamundo">
<input type="text" name="hola" value="mundo">
<input type="submit">
</form>
<script>
// Esta función se encargar de transformar el formulario a un archivo json
function form2json(formID) {
// Obtenemos el objeto DOM del formulario
var form = document.getElementById(formID);
// Obtenemos un objeto que contiene los campos del formulario, usando la función de Jquery "serializeArray" y luego los transformo en un objeto en el que los atributos "name" de cada campo del formulario pasan a ser las claves del objeto; y los "value" los valores.
var serializedForm = $(form).serializeArray().reduce(function(result, field){
if (result.hasOwnProperty(field.name)) {
if (Array.isArray(result[field.name])) {
result[field.name].push(field.value);
} else {
result[field.name] = [result[field.name], field.value];
}
} else {
result[field.name] = field.value;
}
return result;
}, {});
// Transformo los campos a una cadena JSON
var jsonForm = JSON.stringify(serializedForm);
// Agrego el tipo MIME del archivo y la codificación de caracteres
var jsonFileData = 'data:application/json;charset=UTF-8,';
// Codifico la cadena JSON con la función "encodeURIComponent" para que pueda ser parte del atributo "href" y luego lo agrego.
jsonFileData += encodeURIComponent(jsonForm);
// Devuelvo el resultado
return jsonFileData;
}
</script>
<!-- Este link por si solo no hace nada. Pero con el evento "click", cambia el atributo "href" por el contenido del archivo, que se obtiene al llamar a la funcion "form2json". El atributo "href" no solo puede contener links; tambien puede contener archivos, indicando tipo de archivo y codificación de caracteres (si es archivo de texto). El atributo "download" indica el nombre del archivo. -->
<a href="#" onclick="this.href=form2json('holamundo')" download="holamundo.json">Descargar formulario</a>
Saludos!
Por favor, accede o regístrate para añadir un comentario.
Por favor, accede o regístrate para responder a esta pregunta.
En el blog
-
- 690161
- 1
- Jul 5, 2015
Sin Respuesta
-
- 107
- 0
- Oct 18
-
- 173
- 0
- Jul 9
-
- 566
- 1
- Mar 19
-
- 444
- 2
- Feb 26
-
- 4961
- 0
- Nov 7, 2023
-
- 488
- 0
- Sep 19, 2023
-
- 480
- 0
- Ago 21, 2023
-
- 645
- 0
- May 14, 2023
- ver todas
Preguntas relacionadas
Actividad Reciente
alyvrs preguntó Oct 19
Ayuda , necesito mostrar datos creados solo por el…ManHol preguntó Jul 9
pasar un archivo de excel a csv en pythonArtEze respondió Abr 24
Alguien sabe, no me ignorenArtEze seleccionó una respuesta Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze respondió Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze preguntó Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze respondió Abr 24
No me deja instalar OracleArtEze respondió Abr 24
Formulario que guarde los datos de un jsonArtEze comentó Abr 24
Script /boot/ scrapingSantiago2610 comentó Mar 23
Acualizar ChoiceField en django
Ultimas Preguntas
Preguntas relacionadas
Usuarios Top
- Leonardo-Tadei
- 227320 Puntos
- Peter
- 150480 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos
Todos los Usuarios Usuarios Nuevos
...