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
-
- 407166
- 1
- Jul 5, 2015
Sin Respuesta
-
- 180
- 0
- Mar 19
-
- 94
- 2
- Feb 26
-
- 1203
- 0
- Nov 7, 2023
-
- 308
- 0
- Sep 19, 2023
-
- 310
- 0
- Ago 21, 2023
-
- 395
- 0
- May 14, 2023
-
- 364
- 0
- Abr 21, 2023
-
- 449
- 0
- Mar 31, 2023
- ver todas
Preguntas relacionadas
Actividad Reciente
ArtEze respondió hace 4 días
Alguien sabe, no me ignorenArtEze seleccionó una respuesta hace 5 días
Bajar extensión de Chrome sin actualizar el navega…ArtEze respondió hace 5 días
Bajar extensión de Chrome sin actualizar el navega…ArtEze preguntó hace 5 días
Bajar extensión de Chrome sin actualizar el navega…ArtEze respondió hace 5 días
No me deja instalar OracleArtEze respondió hace 5 días
Formulario que guarde los datos de un jsonArtEze comentó hace 5 días
Script /boot/ scrapingSantiago2610 comentó Mar 23
Acualizar ChoiceField en djangoSantiago2610 preguntó Mar 19
Acualizar ChoiceField en djangogonzalss preguntó Feb 26
Script /boot/ scraping
Ultimas Preguntas
Preguntas relacionadas
Usuarios Top
- Leonardo-Tadei
- 227320 Puntos
- Peter
- 150470 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos
Todos los Usuarios Usuarios Nuevos
...