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
-
- 406007
- 1
- Jul 5, 2015
Preguntas sin respuesta
-
- 24
- 0
- hace 1 día
-
- 247
- 0
- Feb 18
-
- 195
- 0
- Nov 23, 2022
-
- 115
- 0
- Nov 17, 2022
-
- 130
- 0
- Nov 4, 2022
-
- 188
- 0
- Nov 1, 2022
-
- 155
- 0
- Oct 27, 2022
-
- 154
- 0
- Oct 26, 2022
- ver todas las preguntas
Preguntas relacionadas
Actividad Reciente
Roosevelt preguntó hace 1 día
Servicios AWS para red socialelporfirio respondió Feb 22
Construir URL para actualizar contraseña después d…hector2023 preguntó Feb 18
hola alguien sabe como instalar un gui qt creator …elena preguntó Feb 14
Construir URL para actualizar contraseña después d…seniorit respondió Ene 18
¿Como poner privilegio o niveles a los usuarios en…seniorit respondió Ene 10
Como muestro un objeto test(preguntas-respuestas) …yoelrodguez respondió Dic 2, 2022
servidor local xamp disponibile fuera de lanmchojrin respondió Nov 25, 2022
servidor local xamp disponibile fuera de lanPeter comentó Nov 23, 2022
Formulario que guarde los datos de un jsondiana15 comentó Nov 23, 2022
Formulario que guarde los datos de un json
Ultimas Preguntas
Preguntas relacionadas
Usuarios Top
- Leonardo-Tadei
- 227320 Puntos
- Peter
- 150420 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos
Todos los Usuarios Usuarios Nuevos
...