JavaScript - Mantener abierta la ventana modal al enviar un formulario

   
Vista:

Mantener abierta la ventana modal al enviar un formulario

Publicado por Unexes (39 intervenciones) el 15/11/2017 20:17:34
Hola a tod@s..
Espero que me podáis ayudar en un problemilla que me lleva de cabeza y no encuentro la forma de solucionarlo.
Veréis tengo un formulario de contacto que esta en una página y funciona perfectamente y ahora necesito ponerlo por cuestiones de diseño dentro de una ventana modal.
En dicha ventana he colocado un botón de cierre y la misma se cierra correctamente tanto si pulso dicho botón como si pulso fuera de ella y eso es correcto en su funcionamiento
Mi problema es que cuando coloco dentro de dicha ventana el formulario de contacto si se pulsa el botón de ENVIAR del formulario se cierra la ventana, independientemente de si se han rellenado todos los campos de dicho formulario o no, y necesito que la ventana permanezca abierta hasta que el usuario decida cerrarla con el botón de cierre de la misma o pulse fuera de la ventana modal, porque al pulsar sobre el botón de ENVIAR del formulario el usuario recibe en el mismo formulario una información de si el campo esta correctamente o esta vació y permite al usuario modificar el contenido del campo y volver a intentar el envio de nuevo, al mismo tiempo si todo esta correcto le informa de que se ha enviado el correo.
El código que tengo es el siguiente he reducido los campos del formulario a uno para que el código sea menos extenso y mas comprensible, si necesitáis alguna otra información o alguna otra parte del código me lo indicáis y lo colocare.
Espero que me podáis ayudar.

Menu.php
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script>
	$(function() {
	    $('#contacto').on('click', function () {
	        $.fn.custombox( this, {
	            effect: 'newspaper'
	        });
	        return false;
	    });
	});
	</script>
<body>
    <div id="MenContacto"><a href="#modalcontacto" id="contacto"><img src="../Imagenes/ImgMenus/MenCont1.png" onmouseover="this.src='../Imagenes/ImgMenus/MenCont2.png';" onmouseout="this.src='../Imagenes/ImgMenus/MenCont1.png';" alt=""/></a></div>
 
    <div id="modalcontacto" style="display: none;" class="modal-prodserv-content">
        <?php (require_once ("Contenido_Menu_Contacto.php")); ?>
    </div>
</body>

Contenido_Menu_Contacto.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<body>
<div class="modal-prodserv-header">
    <div class="BotonCierre">
        <img onClick="$.fn.custombox('close');" src="Imagenes/ImgMenus/BotCerrar1.png" onmouseover="this.src='Imagenes/ImgMenus/BotCerrar2.png';" onmouseout="this.src='Imagenes/ImgMenus/BotCerrar1.png';" alt=""/></img>
    </div>
</div>
 
  <div class="modal-prodserv-body">
      <div id="Contacto">
          <div id="Formulario">
            <?php
                 $nombre     = '';
            if(isset($_POST['enviar']))
            {
                 $nombre     = $_POST['nombre'];
                if(trim($nombre) == '')
                {
                    $error = '<div class="mensusuario">Por favor escriba su nombre!</div>';
                }
 
                if($error == '')
                {
                    if(get_magic_quotes_gpc())
                    {
                        $mensaje = stripslashes($mensaje);
                    }
 
                    $to      = "micorreo@blabla.com";
                    $asunto = '[bla, bla, etc...] : ' . $asunto;
                    $msg     = "De: $nombre \r\n";
 
                    mail($to, $asunto, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n");
            ?>
    <div id="Respuesta">
      <h1>Correo enviado</h1>
         <p>Gracias <b><?=$nombre;?></b>, nos pondremos en contacto con Vd. lo antes posible!</p>
         <p align="center"><a href="index.php"><img border="0" src="images/Estrella.gif" width="10" height="7" />&nbsp;&nbsp;&nbsp;Volver a INICIO&nbsp;&nbsp;&nbsp;<img border="0" src="images/Estrella.gif" width="10" height="7" /></a></p>
    </div>
<?php
        }
    }
 
    if(!isset($_POST['enviar']) || $error != '')
    {
?>
      <div id="MensajeError"><?=$error;?></div>
        <form action="" method="Post" name="Form1" id="Form1">
            <div id="LabelNombre" class="cabeceras">Nombre:</div>
                <div id="ContNombre"><input name="nombre" class="Contenido" type="text" id="nombre" size="43" value="<?=$nombre;?>" /></div>
 
  <!-- AQUI ESTA EL BOTON ENVIAR QUE NO QUIERO QUE CIERRE EL MODAL -->
  <div id="BotEnviar"><input name="enviar" type="submit" class="button" id="enviar" value="" /></div>
        </form>
          </div>
      </div>
  </div>
</body>
perdonad si al copiar y pegar hay alguna parte del formulario con algún error, pero ya os comento al principio que el mismo funciona correctamente.
Gracias por vuestro interés y ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Mantener abierta la ventana modal al enviar un formulario

Publicado por Unexes (39 intervenciones) el 25/11/2017 11:27:16
Buenos días.
Después de varios días y ante mi imposibilidad de encontrar con el código que tengo actualmente la forma de hacerlo funcionar dentro de una ventana modal por culpa de mis escasos conocimientos, alguien me podría indicar una página donde yo pudiera encontrar un código como ejemplo para bajármelo y adaptarlo de un formulario de contacto con validación y que se enviara dicha información mediante una petición asíncrona (AJAX).
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad