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 :

Pourquoi je dois confirmer deux fois pour lancer un enregistrement


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut Pourquoi je dois confirmer deux fois pour lancer un enregistrement
    Merci de votre aide.
    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
    $('#enregistreritineraire').click(function () {				  
     
    if (confirm("Voulez vous resaisir l itineraire")) {document.location.href = "CoorAdresse.php"}
    		else {
     
    		$.post('EnregistrerItineraire.php', {
    		depart: villedepart,
    		arrive: villearrive
     
    						  					},  
    		function(data){
     
    			if(data == "Success") {
    			// Le membre est connecté. Ajoutons lui un message dans la page HTML.
    			$("#resultat").html("<p>L ajout a ete effectuer avec succes ! </p><br><p>Vous allez etre rediriger sur la liste des activite");
    			setTimeout(function() {$('#resultat').fadeOut();document.location.href = 'indexdate.php'}, 3000);
    //						            setTimeout(function(){ document.location.href = 'indexdate.php'; }, 2000);
     
     
    								   }
     
     
    			else  {		
    			$("#resultat").html("<p>Erreur lors de la connexion...</p>");
    				   }
    				},
    			'text'
    			);
     
    		nbrevent = 0; calcroute = false;
    		}
    Je dois confirmer deux fois pour lancer l'appel $.post.
    je ne vois pas où se situe le problème.

  2. #2
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Il doit avoir une histoire de callback, mais je ne sais pas comment m'y prendre.

  3. #3
    Membre chevronné Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 346
    Par défaut
    essayez comme ça:
    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
    $('#enregistreritineraire').click(function () {				  
     
    if (confirm("Voulez vous resaisir l itineraire")) {document.location.href = "CoorAdresse.php"}
    		else {
     
     $.ajax({
      type: "POST",
      url: "EnregistrerItineraire.php",
      data: {
    	depart: villedepart,
      arrive: villearrive},
      dataType: "text"
    })
    .done(function() {			
    $("#resultat").html("<p>L ajout a ete effectuer avec succes ! </p><br><p>Vous allez etre rediriger sur la liste des activite");
    			setTimeout(function() {$('#resultat').fadeOut();document.location.href = 'indexdate.php'}, 3000); })
     
    .fail(function() {$("#resultat").html("<p>Erreur lors de la connexion...</p>");});
     
     
    		}
    }

  4. #4
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Merci.
    Mais c'est pareil il faut cliquer sur confirm deux fois et je ne sais toujour pas oû placer le callback.

  5. #5
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 525
    Par défaut
    Bonjour,

    Le problème n'a aucun rapport avec le callback, si vous devez cliquez 2 fois sur la fenêtre de confirmation ceci dit que l'écouteur de l'événement clic se déclenche 2 fois, probablement parce que ce code existe déjà quelque part dans les scripts chargés....

    Déjà votre code manque d'une accolade et parenthèse fermantes à la fin, mais je ne pense pas que ça a un rapport avec le problème ...

    Montrez nous un peu plus de code (surtout le code html et js) pour mieux voir ce qui se passe...

  6. #6
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Merci, voici un bout de 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
    17
    18
    $.post('EnregistrerItineraire.php', 
    		{
    		depart: villedepart,
    		arrive: villearrive
    		},  
    		traitement_callback("hello world"), //fonction de retour
    	    'text' // Format des données retournées par le serveur
    		);
     
     
     
    		}
    		}
    		})
     
    		function traitement_callback(in_text){
    			   alert(in_text);
    			}
    Voici l'execution du code:
    ville depart ==> ville arrive

    je click Paris ==> Paris
    il affiche rien.

    apres avoir effacer les données précédente
    Je click Paris ==> Banlieu
    il affiche Paris ==> Paris

    apres avoir effacer les données précédente
    Je click Paris ==> Paris
    il affiche Paris => Banlieu

    Bref il y a toujour un train de retard.

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    $('#enregistreritineraire').click(function () {				  
     
    		if (nbrevent == 2 && calcroute == true) 
    		{
     
    		departMarkerlatlng = new google.maps.LatLng(markersArray[0].getPosition());
    		arriveMarkerlatlng = new google.maps.LatLng(markersArray[1].getPosition());
     
    		geocoder = new google.maps.Geocoder();
    		geocoder.geocode({'latLng': departMarkerlatlng}, function(results, status) {
    		/* Si le géocodage inversé a réussi */
    		if (status == google.maps.GeocoderStatus.OK) {
    		if (results[2]) {
     
    		var elt = results[0].address_components;
     
    		villedepart = elt[2].long_name;
    		console.log("ville de depart "+villedepart);
    						}
    													 } 
    																					}
    						)
     
     
    		geocoder = new google.maps.Geocoder();
    		geocoder.geocode({'latLng': arriveMarkerlatlng}, function(results, status) {
    		/* Si le géocodage inversé a réussi */
    		if (status == google.maps.GeocoderStatus.OK) {
    		if (results[2]) {
     
    		var elt = results[0].address_components;
     
    		villearrive = elt[2].long_name;
    		console.log("ville d arrive "+villearrive);
     
    						}
    													 } 
    																					}
    						)
     
     
    		if (confirm("Voulez vous resaisir l itineraire")) {document.location.href = "CoorAdresse.php"}
    		else {
     
    		$.post('EnregistrerItineraire.php', {
    		depart: villedepart,
    		arrive: villearrive
     
    						  					},  
    		function(data){
     
    			if(data == "Success") {
    			traitement_callback("hello world"), //fonction de retour
    			// Le membre est connecté. Ajoutons lui un message dans la page HTML.
    			$("#resultat").html("<p>L ajout a ete effectuer avec succes ! </p><br><p>Vous allez etre rediriger sur la liste des activite");
    // 			setTimeout(function() {$('#resultat').fadeOut();document.location.href = 'indexdate.php'}, 3000);
    //						            setTimeout(function(){ document.location.href = 'indexdate.php'; }, 2000);
     
     
    								   }
     
     
    			else  {		
    			$("#resultat").html("<p>Erreur lors de la connexion...</p>");
    				   }
    				},
    			'text'
    			);
     
    		nbrevent = 0; calcroute = false;
    		}
     
    		}
    		})
     
    		function traitement_callback(in_text){
    			   alert(in_text);
    			}
    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
    function effacerItineraire() {
    		for (var i = 0; i < directionsDisplayArray.length; i++ ) {
    				directionsDisplayArray[i].setMap(null);
    				directionsDisplayArray[i].setPanel(null);
     
    				}
    		for (var i = 0; i < markersArray.length; i++ ) {
    				markersArray[i].setMap(null);
     
    				}
     
    		directionsDisplayArray = [];
    		markersArray = [];
    		directionsDisplayArray.length = 0;
    		markersArray.length = 0;
    		nbrevent = 0;
    		calcroute = false;
    		alert("fin effacerItineraire");}

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

Discussions similaires

  1. l'even CheckedChanged se lance deux fois pour un radiobouton
    Par aiglelibre dans le forum Développement Windows
    Réponses: 2
    Dernier message: 07/06/2013, 23h58
  2. cliquer deux fois pour ouvrir dans un nouvel onglet
    Par rosert dans le forum ASP.NET
    Réponses: 0
    Dernier message: 07/12/2012, 15h57
  3. Réponses: 6
    Dernier message: 14/04/2009, 09h14
  4. Réponses: 4
    Dernier message: 29/01/2008, 14h08

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