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
-
- 406871
- 1
- Jul 5, 2015
Sin Respuesta
-
- 99
- 0
- Mar 19
-
- 65
- 1
- Feb 26
-
- 155
- 0
- Ene 30
-
- 611
- 0
- Nov 7, 2023
-
- 260
- 0
- Sep 19, 2023
-
- 286
- 0
- Ago 21, 2023
-
- 364
- 0
- May 14, 2023
-
- 324
- 0
- Abr 21, 2023
- ver todas
Preguntas relacionadas
Actividad Reciente
Santiago2610 comentó hace 6 días
Acualizar ChoiceField en djangoSantiago2610 preguntó Mar 19
Acualizar ChoiceField en djangogonzalss preguntó Feb 26
Script /boot/ scrapingParkJo preguntó Ene 30
No me deja instalar Oracleelporfirio respondió Ene 10
Actualizar la imagen con los datos devuelto en un …ovedg preguntó Dic 31, 2023
Actualizar la imagen con los datos devuelto en un …Ehdez preguntó Nov 7, 2023
Necesito en wordpress un pluging que me calcule la…pedrourday preguntó Sep 19, 2023
Alternativas a ThreeJS y BabylonJS?pedrourday preguntó Ago 21, 2023
¿Que tecnologias y lenguajes me recomiendan?Fabio respondió Jul 11, 2023
plugin de efecto circular 3d en imagenes
Ultimas Preguntas
Preguntas relacionadas
Usuarios Top
- Leonardo-Tadei
- 227320 Puntos
- Peter
- 150460 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos
Todos los Usuarios Usuarios Nuevos
...