Foros del Web » Programando para Internet » Javascript »

procesar y mostrar resultados de un form con ajax

Estas en el tema de procesar y mostrar resultados de un form con ajax en el foro de Javascript en Foros del Web. Hola amigos, tengo una duda como puedo procesar un form con ajax un ejemplo si hay un input llamado nombre y al procesarlo imprima el ...
  #1 (permalink)  
Antiguo 30/07/2018, 14:16
 
Fecha de Ingreso: febrero-2012
Mensajes: 27
Antigüedad: 12 años, 9 meses
Puntos: 0
procesar y mostrar resultados de un form con ajax

Hola amigos, tengo una duda como puedo procesar un form con ajax un ejemplo

si hay un input llamado nombre y al procesarlo imprima el nombre de ese input
  #2 (permalink)  
Antiguo 30/07/2018, 16:26
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: procesar y mostrar resultados de un form con ajax

Para mostrar el nombre del <input> o el valor escrito en él, no es necesario realizar una petición asíncrona (AJAX). Basta con que selecciones al elemento, accedas a su propiedad name, para el nombre, o a value, para obtener el valor escrito. Una vez hecho esto, podrás imprimirlo en donde gustes.

Ahora, si te refieres a mostrar el valor escrito en la misma página pero después de haber procesado el formulario y evitando recargar la ventana, entonces, la petición asíncrona sería así:

Código HTML:
Ver original
  1. <form id="foo" action="ejemplo.php">
  2.     <label for="txtPalabra">Escriba una palabra:</label>
  3.     <input type="text" name="palabra" id="txtPalabra" />
  4.     <input type="submit" />
  5. </form>
  6.  
  7. <span id="bar"></span>

Código Javascript:
Ver original
  1. document.addEventListener("DOMContentLoaded", function(){
  2.     this.querySelector("#foo").addEventListener("submit", function(event){
  3.         event.preventDefault();
  4.  
  5.         var xhr = new XMLHttpRequest();
  6.  
  7.         xhr.open("GET", this.action + "?palabra=" + this.palabra.value);
  8.         xhr.addEventListener("load", function(){
  9.             if (this.status == 200){
  10.                 document.querySelector("#bar").textContent = this.responseText;
  11.             }
  12.         }, false);
  13.         xhr.send();
  14.     }, false);
  15. });

Código PHP:
Ver original
  1. echo $_GET['palabra'];

Como la parte concerniente a HTML y PHP es evidente, te explicaré el código JavaScript:

1. Establezco una función anónima que contiene al conjunto de acciones que llevaré a cabo. Estas se realizarán luego de que haya cargado el modelo de objetos del documento (DOM).
2. Una vez sucedido esto, selecciono al formulario por su id y registro en él al evento submit, mismo que se produce cuando se realiza el procesamiento del contenido del formulario. Una función anónima se ejecutará en cuanto se produzca dicho evento.
3. Al momento de ocurrir lo anterior, cancelo el curso natural del evento utilizando el método .preventDefault() para evitar que la ventana se recargue.
4. Creo una instancia del objeto XMLHttpRequest del cual utilizaré sus métodos para realizar la petición asíncrona (AJAX).
5. Utilizando el método .open(), inicio la petición mediante el método HTTP GET, enviando la información hacia la dirección establecida en el atributo action del formulario. Como notarás, adjunto a dicha dirección una cadena de consulta que contiene el nombre de la variable con el que llegará el dato al archivo PHP, además del dato el cual es tomado desde la caja de texto de nombre "palabra".
6. Registro el evento load en la instancia previamente creada para ejecutar una función anónima una vez completado el proceso. En ella evalúo la siguiente condición: si el código HTTP del estado del proceso es igual a 200 (la respuesta fue recepcionada exitosamente), procedo a tomar al <span> ubicado después del formulario y, mediante su propiedad textContent, establezco como contenido al valor recibido.
7. Finalmente, ejecuto el envío del dato escrito mediante el método .send().

Si tienes dudas acerca del uso de los métodos y propiedades descritas, te recomiendo visitar la documentación ofrecida por Mozilla en la siguiente dirección: https://developer.mozilla.org/es

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: ajax, form, input, procesar, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:23.