Foros del Web » Programando para Internet » PHP »

Formulario: Respuesta en el interior del mismo campo

Estas en el tema de Formulario: Respuesta en el interior del mismo campo en el foro de PHP en Foros del Web. Hola: Siento si ya se ha comentado esto por el foro, pero el buscador me falla y no lo encuentro. Tengo un formulario que me ...
  #1 (permalink)  
Antiguo 02/01/2013, 21:59
 
Fecha de Ingreso: abril-2012
Ubicación: aa
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
Formulario: Respuesta en el interior del mismo campo

Hola:
Siento si ya se ha comentado esto por el foro, pero el buscador me falla y no lo encuentro.

Tengo un formulario que me va de lujo, pero con el incordio de que el mensaje de error o de "Ok" me sale en una ventana nueva sobre el fondo blanco. ¿Cómo puedo hacer para que el mensaje de error o de "ok" me salga en el mismo campo donde se rellenó el formulario?

Esta es la web: pablobasagoiti.es/index2

Muchas Gracias. Espero vuestras opiniones.
  #2 (permalink)  
Antiguo 02/01/2013, 22:51
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Formulario: Respuesta en el interior del mismo campo

Puedes usar AJAX y traer texto plano o un objeto JSON

Te dejo un link:

http://www.cristalab.com/tutoriales/...-jquery-c226l/

Saludos, cualquier duda consulta :)
  #3 (permalink)  
Antiguo 02/01/2013, 23:26
 
Fecha de Ingreso: abril-2012
Ubicación: aa
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Formulario: Respuesta en el interior del mismo campo

Hola:

Gracias por responder. He intentado meter pero no sé que he tocado del código que ahora me llega el mail, pero lo hace vacío, no me llega con la info. a ver si me podéis ayudar, "please".

Código PHP:
Ver original
  1. <?php
  2. //comenzamos recogiendo los datos
  3. function recogeDato($campo){
  4. return isset($_REQUEST[$campo])?$_REQUEST[$campo]:'';
  5. } //la función recogeDatos comprueba si se ha recibido un dato y recoge su valor
  6.  
  7. //si no se ha recibido, le asigna un valor vacío.
  8.  $email1 = recogeDato('email');
  9.  
  10. $algunerror = FALSE;
  11.  
  12. //una vez recogidos, los validamos (campos obligatorios, etc...)
  13. if($email1==''){ //validamos los que el email no esté vacio
  14. $algunerror = TRUE; //si encontramos un error,mostramos un mensaje
  15. echo "<p class=\"erroneo\">No has introd</p>\n";
  16. }
  17.  
  18. else{
  19. $para="[email protected]"; //si todo es correcto, enviamos el correo
  20. $asunto="Base Datos Web".$referente;
  21. $mensaje="Datos del formulario de contacto:\n". //creamos el mensaje con los datos
  22. "email:".$email1."\n".
  23. mail($para, $asunto, $mensaje); //y lo enviamos
  24. echo "<p>Tu mensaje se ha enviado correctamente. Gracias por contactar con nosotros.</p>\n";
  25. }
  26. ?>

Código HTML:
Ver original
  1. <div class="formulario">
  2.                  <form action="php/formulario.php" method="post" >  
  3.                  <input class="white" type="text" align="middle" name="email" />    
  4.                  <input class="boton" type="image" src="img/boton_mail-04.png"  align="middle" />                      
  5.                </form>    
  6.           </div>

No sé donde está el error, porque todos los atributos, que yo vea, tienen el mismo name.

Gracias, espero vuestros consejos.
  #4 (permalink)  
Antiguo 03/01/2013, 13:37
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Formulario: Respuesta en el interior del mismo campo

Si usas HTML5

Código HTML:
Ver original
  1. <div class="formulario">
  2. * * * * * * * * *<form id="formularioContacto" method="post" > *
  3. * * * * * * * * *<input class="white" type="email" required align="middle" name="email" /> * *
  4. * * * * * * * * *<input class="boton" type="image" src="img/boton_mail-04.png" *align="middle" /> * * * * * * * * * * *
  5. * * * * * * * *</form>
  6. <div id="respuestaFormulario"></div>
  7. * * * * * </div>

Código PHP:
Ver original
  1. <?php
  2. if(!empty($_POST['email'])){
  3.    //recogemos los datos y lo enviamos
  4.    if(mail(...)){
  5.        echo "Mail enviado correctamente"
  6.    }
  7.    else{
  8.        echo "Error al enviar mail";
  9.    }
  10. }else{
  11.    echo "Campo obligatorio";
  12. }
  13. ?>

Código Javascript:
Ver original
  1. var x = $(document);
  2. x.ready(function(){
  3.       var formulario = $("#formularioContacto");
  4.       formulario.submit(enviarFormulario);
  5. });
  6.  
  7. function enviarFormulario(e){
  8.   e.preventDefault();
  9.   var x = $("#formularioContacto").serialize();
  10.   $.ajax({
  11.             type:'POST',
  12.             url: 'php/formulario.php',
  13.             data: x,
  14.             beforeSend: function(){
  15.                 $("#respuestaFormulario").html("Enviando...");
  16.             },
  17.             success: function(datos){
  18.                 $("#respuestaFormulario").html(datos);
  19.             }
  20.         });
  21. }

Cualquier duda o error coméntalo, saludos

Etiquetas: formulario, interior, respuesta, campos
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 12:55.