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

2votos

como guardar datos de un formulario en js

la app que estoy desarrollando en JS debe de hacer lo siguiente
1.capturar los datos del formulario y guardarlo en un archivo (html o txt)

se trata de una app muy sencilla por lo tanto no quiero utilizar ninguna base de datos
tampoco utilizar frameworks.

he intentado hacerlo de este modo

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>fpages</title>
    <link rel="stylesheet" href="css/style.css">
    <script type="text/javascript" src="app.js">
      function capturar () {

  var email = document.getElementById("email").value;
  var pass = document.getElementById("pass").value;

  document.getElementById("section").innerHTML=

  console.log(email, pass);

}

</script>
</head>

  <body>

<header>
  <p></p>
</header>
<body>
  <main>
    <div><span>accede</span>
      <form> 
        <input type="text" id="clave" placeholder="clave">
        <input type="text" id="email" placeholder="email">
        <input type="password" id="pass" placeholder="pass">
        <input type="button" id="button" value="envio" onclick="capturar(e)">
      </form>
    </div>

    <div id="section">
      <h1>seccion privada</h1>
    </div>
  </main>
</body>
<footer></footer>
</html>

magarzon comentado Sep 30, 2016

¿Pero lo que quieres hacer es guardar el contenido del formulario en un fichero local del usuario, o del servidor?

¿Y lo que quieres es guardar el usuario y la clave, así en claro? OMFG!

steven comentado Sep 30, 2016

te explico mi pagina esta alojada en una web que no me permite subir archivos php y no tiene una base de datos es una de esas webs que sirven solo para paginas estaticas por lo tanto puedo solo mostrar archivos del lado cliente.
en mi caso quiero que despues de que el usuario se registre en mi pagina a travez de un formulario de dos campos email y pass, los datos capturados se guarden en un archivo de texto, el problema es que js no puede trabajar con ficheros y por eso no creo que sea posible

steven comentado Sep 30, 2016

@magarzon
te explico mi pagina esta alojada en una web que no me permite subir archivos php y no tiene una base de datos es una de esas webs que sirven solo para paginas estaticas por lo tanto puedo solo mostrar archivos del lado cliente.
en mi caso quiero que despues de que el usuario se registre en mi pagina a travez de un formulario de dos campos email y pass, los datos capturados se guarden en un archivo de texto, el problema es que js no puede trabajar con ficheros y por eso no creo que sea posible

magarzon comentado Sep 30, 2016

Con esas características del hosting, no puedes hacer nada serio. Además, es imposible que haya un registro si no tienes base de datos, ni serviría de nada guardar un archivo local. Como mucho, puedes hacer una pequeña aplicación usando SQLite, o el LocalStorage de HTML5, pero sinceramente, no veo casos de usos sin un servidor decente.

steven comentado Sep 30, 2016

lo que tengo en mente es que mi app puede capturar los datos y guardarlo en un archivo de texto PERO veo que esto no es posible por eso tengo en mente otra solucion que seria que cuando un usuario se registre a la pagina estos datos capturados se guarden en un elemento div PERO veo que esto tampoco es posible porque permite solo un dato practicamente QUIERO que cada vez que un usuario se registre este dato se guarde y se imprima en el div, practicamente quiero lo tome como un valor distino. te muestro mi codigo

<html>

<head>
    <meta charset="UTF-8">
    <title>fpages</title>
    <link rel="stylesheet" href="css/style.css">

    <script type="text/javascript">

  function capturar () {

  var email = document.getElementById("email").value;
  var pass = document.getElementById("pass").value;

  var insertar = document.getElementById("section").innerHTML= [email, pass];

} 
</script>

</head>

  <body>

  <header><p>login</p></header>

  <main>
    <div><span>accede</span>
      <form action="reg.txt"> 
        <input type="text" id="clave" placeholder="clave">
        <input type="text" id="email" placeholder="email">
        <input type="password" id="pass" placeholder="pass">
        <input type="button" id="button" value="envio" onclick="capturar()">
      </form>
    </div>

    <div id="section">
      <h1>seccion privada</h1>
    </div>
  </main>

</body>

<footer></footer>

</html>

NECESITO QUE LOS DATOS QUE INGRESE LOS GUARDE EN UN DIV Y QUE NO SE SOBREESCRIBA

magarzon comentado Sep 30, 2016

¿Pero registrarse dónde, si no tienes base de datos? ¿Qué sentido tiene que alguien se registre en un sitio donde solo puede registrarse él (porque es todo local)?

Creo que no tienes muy claro el concepto de aplicación web.

cobasESP comentado Oct 3, 2016

Lo que dices es inviable, guardar algo en local, se usa para acelerar la carga de la página, ademas estas diciendo que los datos que captures quieres mostrarlos en un div.

1.- no sé para que, ya que cuando refresques la página este no estará.

2.- una página así tendría una seguridad pésima

3.- Una aplicación web debe tener una base de datos + un buen front-end + back-end. No peudes hacer una app web que no tenga base de datos.

Imagínate que consigo saber la ruta de dicho archivo, me lo descargo y tengo los datos de todas las personas que han ingresado, y si alguna de ellas hubiera puesto un correo y contraseñas igual al que ya tiene, que hay muchas que por fallos de memoria tienen la misma contraseña en varia cuentas.

Ademas, veo que ni tan si quiera sabes como poner en un div varios datos sin que se sobrescriban, algo que es básico.

2 Respuestas

0voto

jrgm0005 Puntos2980

Actualmente, es imposible que un lenguaje de navegador escriba en un fichero local.

Por otro lado, sin nada backend(servidor) no es aplicación web ni nada, únicamente una página estática que te generaría otra con la información del usuario, y que tú no podrás procesar ni hacer nada con ella.

Piensa de nuevo lo que quieres hacer y las tecnologías que dispones, es mi consejo.

Un saludo.

0voto

bl4z3r Puntos16810

Técnicamente, lo que quieres hacer es dificultoso pero posible.

Desde ya, te recomiendo que veas framework de JS como Angular o KnockOut o BackBone para realizar tu aplicacion por que tendrías serios problemas de seguridad a la hora de tratar de ocultar tu datos privados.

Segundo, hay una librería hecha en JS que se llama sql.js. Es, prácticamente, una implementación de SQLite en JS. Revisa su documentacion para ver si puedes lograr algo.

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta