Foros del Web » Programando para Internet » Javascript »

Enviar formulario por POST sin recargar página

Estas en el tema de Enviar formulario por POST sin recargar página en el foro de Javascript en Foros del Web. Hola a todos, ya vuelvo con más dudas... Me gustaría hacer un sistema de comentario pero que al darle envia no se tenga que recargar ...
  #1 (permalink)  
Antiguo 28/05/2012, 09:17
Avatar de djboro88  
Fecha de Ingreso: junio-2009
Ubicación: Valencia
Mensajes: 180
Antigüedad: 14 años, 10 meses
Puntos: 2
Pregunta Enviar formulario por POST sin recargar página

Hola a todos, ya vuelvo con más dudas...

Me gustaría hacer un sistema de comentario pero que al darle envia no se tenga que recargar la página. El sistema de mensajes ya lo tengo y funciona perfecto, peeerooo... cada comentario q se envía se recarga la pagina.

¿Conocesi alguna forma sencilla (ya que de AJAX tengo más bien poca idea) y rapida de conseguirlo?

Saludos y Gracias !!
  #2 (permalink)  
Antiguo 28/05/2012, 09:35
Avatar de Pablo Ayala  
Fecha de Ingreso: septiembre-2005
Ubicación: Cancún, México
Mensajes: 231
Antigüedad: 18 años, 7 meses
Puntos: 28
Respuesta: Enviar formulario por POST sin recargar página

Código HTML:
Ver original
  1. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  2. </head>
  3. <form id="tuformulario" name="tuformulario">
  4.  
  5.  <textearea id="tutextarea"  name="tutextarea" ></textarea>
  6.  
  7.  
  8.   <button type="button" id="tuboton"></button>
  9. </form>

Código Javascript:
Ver original
  1. $("#tuboton").click(function(){
  2.  
  3.   var comentario= $("#tutextarea").val();
  4.   $.post("elnombredetupagina.php?comentario="+escape(comentario), function(){
  5.        
  6.       alert("Tu comentario se ha guardado exitosamente...!");    
  7.    });
  8.  
  9. });


Tu archivo php:
Código PHP:
Ver original
  1. $comentario = $_REQUEST["comentario"];
  2.  
  3. ....... (etc etc)
__________________
Atentamente,

Pablo Ayala.
Si vas a responder algo en el foro que sea con amabilidad.
  #3 (permalink)  
Antiguo 28/05/2012, 09:37
 
Fecha de Ingreso: marzo-2007
Mensajes: 82
Antigüedad: 17 años, 1 mes
Puntos: 21
Respuesta: Enviar formulario por POST sin recargar página

prueba ponerle el atributo target al form y oculta el iframe

Código HTML:
Ver original
  1. <form target="el-iframe">
  2.     <input type="submit" value="envia"/>
  3. </form>
  4.    
  5. <iframe name="el-iframe"></iframe>
__________________
Hazle un favor a tu cerebro y juega Ajedrez online
Chess online
  #4 (permalink)  
Antiguo 28/05/2012, 09:51
Avatar de djboro88  
Fecha de Ingreso: junio-2009
Ubicación: Valencia
Mensajes: 180
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Enviar formulario por POST sin recargar página

He encontrado este script.
Pero no me recoge el textarea. Me publica el comentario en blanco.

Código Javascript:
Ver original
  1. <script language="javascript">
  2. $(document).ready(function() {
  3.     $().ajaxStart(function() {
  4.         $('#loading').show();
  5.         $('#divresult').hide();
  6.     }).ajaxStop(function() {
  7.         $('#loading').hide();
  8.         $('#divresult').fadeIn('slow');
  9.     });
  10.     $('#form, #fat, #nombreform').submit(function() {
  11.         $.ajax({
  12.             type: 'POST',
  13.             url: $(this).attr('action'),
  14.             data: $(this).serialize(),
  15.             success: function(data) {
  16.                 $('#divresult').html(data);
  17.  
  18.             }
  19.         })
  20.        
  21.         return false;
  22.     });
  23. })  
  24. </script>

Lo del iframe no sale. Y además se que se puede hacer con AJAX o JQUERY, ya que los IFRAME no me inspiran confianza... XD
  #5 (permalink)  
Antiguo 28/05/2012, 09:58
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Enviar formulario por POST sin recargar página

Hola:

Si tu formulario funciona bien sin ajax, tienes la página bien, y ahora te toca acomodar lo que tienes...

Para empezar, puedes poner en el formulario el sistema para que no se envíe...

<form onsubmit="return enviar(this)"...

... con esto, antes de el envío, se ejecuta la función "enviar", y si esa función devuelve "false", el envío se cancela.

Ahora queda programar esa función... es cuestión de saber pasar los parámetros. Supongo que habrás visto cosas con Ajax (no hacen falta librerías).

Muéstranos el progreso.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: ajax, comentarios, sistema
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 16:36.