IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Arrêter le submit à la fermeture d'une lightbox


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 73
    Par défaut Arrêter le submit à la fermeture d'une lightbox
    Bonjour,

    J'ai une lightbox (au style de Facebook) qui s'ouvre quand on clique sur Connexion.
    Lorsqu'on clique sur le lien submit, un delay de 2000 m/s s'enchaine avant de lancer le submit.

    Jusque là j'espère que c'est compréhensible

    Ensuite j'aimerais quand un visiteur clique sur le lien submit, que pendant le delay, s'il ferme la lightbox, le formulaire ne s’envoie plus, et que donc il ne soit pas redirigé.

    Vous pouvez voir le script sur : www.web-astronomie.com (Site en contruction)

    Je précise que tout est en Jquery et voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $(document).ready(function(){
    			$('#load').hide(); //On cache l'image gif de chargement
                $("#loginbox").click(function () { 
    				$("#dialog").fadeIn("fast"); //On ouvre la lightbox
                });
    			$("#login").click(function () {
    				$('#load').show(); //Au clic on affiche l'image gif
    				setTimeout(function() {
    					$('#form').submit(); //On envoie le formulaire au bout de 2 secondes
    				}, 2000);
    			});
                $("#close-dialog").click(function () {
    				$("#dialog").fadeOut("fast"); //On ferme la lightbox
    			});
    });
    Et voici le code du formulaire :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <form method="post" action="login.php" class="form-login" name="form_login" id="form">
    <table>
    <tr><td><label class="form_login_label">Nom d'utilisateur</label></td></tr>
    <tr><td><input type="text" name="pseudo" class="form_login_input" maxlength="23" /></td></tr>
    <tr><td><label class="form_login_label">Mot de passe</label></td></tr>
    <tr><td><input type="password" name="password" class="form_login_input" maxlength="30" /></td></tr>
    <tr><td><input type="checkbox" id="checkbox" name="check" class="checkbox" /><label class="check" for="checkbox">Rester connecté</label><label class="mdp">|&nbsp; <a href="index.php">Mot de passe perdu</a></label></td></tr>
    <tr><td><a href="#" name="Submit" title="Connexion" class="login" id="login"></a>
    <a href="register.php" title="Inscription" class="register"></a><img src="../images/loading.gif" id="load" alt="" class="loading" /></td></tr>
    <tr><td><? echo $reponse; ?></td></tr>
    </table>
    </form>

    J'espère que quelqu'un pourra trouver une solution pour moi


  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Il faut affecter ton setTimeout() a une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $(document).ready(function(){
    var timer;
    			$('#load').hide(); //On cache l'image gif de chargement
                $("#loginbox").click(function () { 
    				$("#dialog").fadeIn("fast"); //On ouvre la lightbox
                });
    			$("#login").click(function () {
    				$('#load').show(); //Au clic on affiche l'image gif
    				timer = setTimeout(function() {
    					$('#form').submit(); //On envoie le formulaire au bout de 2 secondes
    				}, 2000);
    			});
                $("#close-dialog").click(function () {
    				$("#dialog").fadeOut("fast"); //On ferme la lightbox
    if(timer) clearTimeout(timer);
    			});
    });
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 73
    Par défaut Problème résolu
    Merci beaucoup

  4. #4
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 73
    Par défaut Loading avant l'affichage de la lightbox
    Là c'est peut être un peu plus compliqué ce que je voudrais demander.

    Toujours avec les codes ci-dessus, je souhaiterais un loading de ma lightbox avant son affichage, en Jquery si possible je pense que c'est faisable

    Voici le code de la lightbox avec un div "loading-dialog" dans lequel il y aura le contenu du chargement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    	<div id="dialog">
    		<div class="content-generic-dialog">
    			<div class="generic-dialog" style="width: 400px; margin-top: 250px;">
    				<div class="container-dialog">
    					<h2 class="titre-dialog">
    						<span>Connexion</span>
    					</h2>
    					<div class="content-dialog">
    						<div class="body-dialog">
    							<div id="form_login">
    								<form method="post" action="login.php" class="form-login" name="form_login" id="form">
    									<table>
    										<tr><td><label class="form_login_label">Nom d'utilisateur</label></td></tr>
    										<tr><td><input type="text" name="pseudo" class="form_login_input" maxlength="23" /></td></tr>
    										<tr><td><label class="form_login_label">Mot de passe</label></td></tr>
    										<tr><td><input type="password" name="password" class="form_login_input" maxlength="30" /></td></tr>
    										<tr><td><input type="checkbox" id="checkbox" name="check" class="checkbox" /><label class="check" for="checkbox">Rester connecté</label><label class="mdp">|&nbsp; <a href="index.php">Mot de passe perdu</a></label></td></tr>
    										<tr><td><a href="#" name="Submit" title="Connexion" class="login" id="login"></a>
    										<a href="register.php" title="Inscription" class="register"></a><img src="../images/loading.gif" id="load" alt="" class="loading" /></td></tr>
    										<tr><td><? echo $reponse; ?></td></tr>
    									</table>
    								</form>
    							</div>
    						</div>
    						<div class="footer-dialog">
    							<div>
    								<a href="#" title="Fermer" id="close-dialog" class="close"></a>
    							</div>
    						</div>
    						<div class="loading-dialog">
    						</div>
    					</div>
    				</div>
    			</div>
    		</div>
    	</div>
    Merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Arrêter un ttmt en cours, lors de la fermeture d'une fenêtre
    Par teska dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/12/2004, 14h08
  2. Fermeture d'une requête
    Par brice.antoine dans le forum ASP
    Réponses: 2
    Dernier message: 20/07/2004, 09h43
  3. Detecter la fermeture d'une fenetre MsDos
    Par Akta3d dans le forum C++Builder
    Réponses: 2
    Dernier message: 13/07/2004, 16h53
  4. Comment interdire la fermeture d'une fiche empilée ?
    Par psau dans le forum C++Builder
    Réponses: 3
    Dernier message: 05/07/2004, 14h01
  5. [VB6] [MDI] Signaler la fermeture d'une fille à la mère
    Par cpri1shoot dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/04/2004, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo