Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/07/2012, 22:15
Avatar de llJhonatanll
llJhonatanll
 
Fecha de Ingreso: febrero-2012
Mensajes: 5
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Form: Confirmacion de envio en la misma pagina

Hola nvlucho... necesitas hacerlo con javascript, en una etiqueta div aparte..

Lo que yo suelo hacer, es lo siguiente...

En la página donde se encuentra todo el formulario.. debes crear una etiqueta div debajo, por ejemplo:

Código HTML:
<form name="form1" id="form1" action="mail.php" method="post" >

	Nombre: <input type="text" name="nombre" />
	Asunto: <input type="text" name="asunto" />
	Mensaje: <textarea name="mensaje" ></textarea>

	<br/><input type="submit" value="Enviar formulario" /> &nbsp;
        <input type="reset" value="Limpiar" name="limpiar" />

</form>

<!-- lo siguiente es solo para que se muestre una imagen de cargando antes de procesar el form -->
<div id="loading" style="display:none;"> <img src="images/loading.gif" width="50" height="50"></div> 

<!-- este es el div que interesa -->
<div id="mensaje"></div> 

Luego, dentro de la etiqueta head de la misma página debes agregar lo siguiente:

Código HTML:
<script type="text/javascript">
$(function(){
        $("#form1").submit(function(){
          $.ajax({
            type:"POST",
            url:"mail.php",
            data:$(this).serialize(),
            beforeSend:function(){
              $("#loading").show();
            },
            success:function(response){
                $("#mensaje").html(response);
                $("#loading").hide();
            }
 
          })
          return false;
        })
 
})
</script> 

Y bueno, el archivo mail.php ya lo debes conocer... jala los datos del formulario y los envía con el método mail() de php..

Código PHP:
$nombre $_POST['nombre'];
$asunto $_POST['asunto'];
$mensaje $_POST['mensaje'];

$header 'From: ' $email " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/html";
    
$body"Mensaje enviado por: " $nombre "\r\n";
$body .= "Asunto: " $mensaje "\r\n";
$body .= "Mensaje: " $mensaje " \r\n" "\r\n";
$body .= "\r\n";
$body .= "                      Desde: www.nvlucho.com";
$body .= "\r\n";
    
$para "[email protected]";
    
mail($para$asuntoutf8_decode($body), $header); 

Y si quieres que se elimpie el div de mensaje cuando reestablezcas el formulario, agregar este script...

Código HTML:
<script type="text/javascript">
      $(function(){
        $("#limpiar").click(function(){
  		  $("#respuesta").html("");
          $("#nombre").val() = "";
          $("#asunto").val() = "";
          $("#mensaje").val() = "";
        })
 
      })
</script> 

Si tienes consultas, no dudes en escribir... saludos