Foros del Web » Programando para Internet » Javascript » Frameworks JS »

problemas con un formulario

Estas en el tema de problemas con un formulario en el foro de Frameworks JS en Foros del Web. Estoy haciendo una web con jquery y php. En un div meto un formulario php Código: $('#div2').load(idioma+"/"+"formulario.php") Código: <? if (!$HTTP_POST_VARS){ ?> <form action="es/formulario.php" method=post> ...
  #1 (permalink)  
Antiguo 26/04/2012, 09:02
 
Fecha de Ingreso: abril-2012
Mensajes: 124
Antigüedad: 12 años, 7 meses
Puntos: 3
problemas con un formulario

Estoy haciendo una web con jquery y php.
En un div meto un formulario php

Código:
$('#div2').load(idioma+"/"+"formulario.php")
Código:
<?
if (!$HTTP_POST_VARS){
?>
<form action="es/formulario.php" method=post>
Nombre: <input type=text name="nombre" size=16>
<br>
Email: <input type=text name=email size=16>
<br>
Comentarios: <textarea name=coment cols=32 rows=6></textarea>
<br>
<input type=submit value="Enviar">
</form>
<?
}else{
    //Estoy recibiendo el formulario, compongo el cuerpo
    $cuerpo = "Formulario enviado\n";
    $cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
    $cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
    $cuerpo .= "Comentarios: " . $HTTP_POST_VARS["coment"] . "\n";

    //mando el correo...
    mail("micorreogmail.com","Formulario recibido",$cuerpo);

    //doy las gracias por el envío
    echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
El problema es que el mensaje de "gracias por rellenar..." no queda en el div, sinó que me carga una página nueva y no quiero poner un botón para volver, ya que la web usa una sola página que se actualiza con jquery.
No se como hacerlo, quizá si el botón 'enviar' llamase una función...
Pero no sé como llamarla con los parámetros del mail

Gracias
  #2 (permalink)  
Antiguo 26/04/2012, 09:08
Avatar de Dafonz  
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: problemas con un formulario

necesitas cancelar el método submit (o poner otro tipo de input) y enviar los datos a otra pagina (esto para que solo sea el método de envió) por medio de ajax.
  #3 (permalink)  
Antiguo 26/04/2012, 10:18
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: problemas con un formulario

Varios detalles,
cancela el action del form, poné solamente action="#", si usas load() tendrías que pasar por get los parámetros, te conviene usar $.post de jquery

tu boton submit
<input type="submit" value="procesar" id="procesaform"/>


Código Javascript:
Ver original
  1. $('#procesarform').click(function(){
  2.  
  3. //// aqui haces $.post
  4.  
  5.      });

Si bien se aplica a otra cosa, el siguiente ejemplo es una guía de como hacerlo
http://foros.emprear.com/php/demo-form-ajax-captcha/

Para el javascript, revisá la fuente del html
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 26/04/2012, 13:44
 
Fecha de Ingreso: abril-2012
Mensajes: 124
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: problemas con un formulario

Pues muchas gracias, voy a leerme el ejemplo con calma pero creo que lo tengo claro.
Ya les contaré.

Etiquetas: formulario, input, jquery, php
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 09:48.