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 :

Prioriser un appel jquery sur un appel javascript [UI]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Par défaut Prioriser un appel jquery sur un appel javascript
    Bonjour,

    Je suis débutante sur Jquery. J'ai créé un bouton qui fait appel à deux fonctions. La première est une fonction jquery qui affiche un popup avec deux boutons. elle attribue une valeur boolean à une varibale selon le choix du bouton du popup
    La deuxième fonction qu'est une fonction javascript s'exécute selon le résultat de la première fonction.

    Le problème est que le bouton fait appel à la fonction javascript avant celle de jquery. Vous ne connaissez pas un moyen qui priorise l'appel à la fonction jqueryau lien de celle de javascript/

    Merci d'avance pour vos réponses

    Ci dessous le code
    Code html : 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
    <html>
    <head>
    <title></title>
    </head>
    <body>
      <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/redmond/jquery-ui.css" rel="stylesheet" type="text/css"/>
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
      <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
     
     
        <script type="text/javascript">
     
     
            //document.getElementById('theHiddenField').value =false;
            $(document).ready(function () {
                $("#OpenDialog").click(function () {
                    $("#dialog").dialog({
                                    resizable: false,
    height:140,
    modal: true,
     
                                    buttons: {
    "Oui": function() {
    $('#theHiddenField').val(true);
    $( this ).dialog( "close" );
    alert($('#theHiddenField').val());
    },
    "Non": function() {
    //$('#theHiddenField').val(false);
    alert($('#theHiddenField').val());
    $( this ).dialog( "close" );
    }
    }
                                    });
                });
            });
                    
            function Chargement() {
            if (document.getElementById('theHiddenField').value ==true) {
            alert('Bienvenue sur le site');
                    }
    }
        </script>
     
      <input id="OpenDialog" type="button"  value="Valider" onClick="Chargement()">
        <div id="dialog" title="Empty the recycle bin?">
        </div>
    	 <input type="hidden" id="theHiddenField" name="deleteThisSelectedItem" value="false" style="display:none">
     
    </body>
    </html>

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut,

    suffit de placer le code dans la fonction JQ mais aprés la gestion du popup :
    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
    <html>
      <head>
        <title></title>
      </head>
      <body>
        <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/redmond/jquery-ui.css" rel="stylesheet" type="text/css"/>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
     
     
        <script type="text/javascript">
     
     
        //document.getElementById('theHiddenField').value =false;
          $(document).ready(function() {
            $("#OpenDialog").click(function() {
              $("#dialog").dialog({
                resizable: false,
                height: 140,
                modal: true,
                buttons: {
                  "Oui": function() {
                    $('#theHiddenField').val(true);
                    $(this).dialog("close");
                    alert($('#theHiddenField').val());
                  },
                  "Non": function() {
        //$('#theHiddenField').val(false);
                    alert($('#theHiddenField').val());
                    $(this).dialog("close");
                  }
                }
              });
              if ($('#theHiddenField').val() === 'true') {
                alert('Bienvenue sur le site');
              }
            });
          });
        </script>
     
        <input id="OpenDialog" type="button"  value="Valider">
        <div id="dialog" title="Empty the recycle bin?">
        </div>
        <input type="hidden" id="theHiddenField" name="deleteThisSelectedItem" value="false" style="display:none">
     
      </body>
    </html>

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    L'attribut HTML "value" contient toujours un texte (string) !

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input id="OpenDialog" type="button" value="Valider">
    <div id="dialog" title="Empty the recycle bin?"></div>
    <input type="hidden" id="theHiddenField" name="deleteThisSelectedItem" value="oui">

    Code javascript : 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
    var dialogue = function dialogue(){
     
        $( "#dialog" ).dialog({
    		"resizable" : false,
    		"height" :140,
    		"modal" : true,
    		"buttons" : {
    			"Oui" : function(){
    				$( '#theHiddenField' ).val( "oui" );
    				$( this ).dialog( "close" );
     
    				alert( $( '#theHiddenField' ).val() );
    			},
    			"Non" : function(){
    				$( '#theHiddenField' ).val( "non" );
    				$( this ).dialog( "close" );
     
    				alert( $( '#theHiddenField' ).val() );
    			}
    		}
    	});
     
    };
     
    $( "#OpenDialog" ).on( "click", function(){
     
    	if ( $( "#theHiddenField" ).val() === "oui" ){
    		alert( "Bienvenue sur le site !" );
    		dialogue();
    	} else {
    		dialogue();
    	}
     
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Par défaut
    Bonsoir,

    Je vous remercie infiniment pour vos réponses. la deuxième fonction je l'ai simplifié juste pour vous donner une idée de ce que je veux faire. Normalement elle est très longue et inutile de la reécrire en jquery. Ce que j voulais faire est de reécrire le window.confirm de tel sorte que le popup affiche les valeurs "oui" et "non" au lieu des valeurs par défauts "ok" et "annuler". J'ai choisi de le faire avec jquery car c'est plus simple. Mais je suis tombé dans ce problème d'appel de fonction. Vous ne savez pas comment je pourrais résoudre ce problème?

    Merci pour vos réponses

  5. #5
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    je t'ai déja donné la réponse, et non, pas besoin de sortir le code de la fonction, tu peux la mettre directement dans le code de JQ :
    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
          $(document).ready(function() {
            $("#OpenDialog").click(function() {
              $("#dialog").dialog({
                resizable: false,
                height: 140,
                modal: true,
                buttons: {
                  "Oui": function() {
                    $('#theHiddenField').val(true);
                    $(this).dialog("close");
                    alert($('#theHiddenField').val());
                  },
                  "Non": function() {
        //$('#theHiddenField').val(false);
                    alert($('#theHiddenField').val());
                    $(this).dialog("close");
                  }
                }
              });
              Chargement();
            });
          });
    Chargement() sera lancé aprés la fermeture de la popup

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Par défaut
    Oui très bonne idée , Merci à vous tous. D'ailleurs je n'ai plus besoin de tester par rapport à un variable. J'insére directement la fonction dans le bouton Oui . Merci encore une fois.

    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
      $(document).ready(function() {
            $("#OpenDialog").click(function() {
              $("#dialog").dialog({
                resizable: false,
                height: 140,
                modal: true,
                buttons: {
                  "Oui": function() {
                    $(this).dialog("close");
    		Chargement();
                  },
                  "Non": function() {
                    $(this).dialog("close");
                  }
                }
     
              });
     
            });
     
          });
     
     
    	function Chargement() {
    	alert('Bienvenue sur le site');
    	}

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

Discussions similaires

  1. Appel jquery sur une balise à classe variable
    Par tmlpqsdpmdlc dans le forum jQuery
    Réponses: 1
    Dernier message: 16/06/2015, 23h50
  2. Appel de function JavaScript (jquery) sur une jsp
    Par BILANGA dans le forum jQuery
    Réponses: 4
    Dernier message: 09/01/2015, 14h14
  3. Appel Jquery AJAX sur site ASP.NET C#
    Par neo_2000_2006_59 dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 01/10/2013, 14h05
  4. lien sur un appel de fonction en javascript
    Par gloglo dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/11/2007, 09h40
  5. Alimenter le context sur un appel Javascript ?...
    Par Sylvain James dans le forum XMLRAD
    Réponses: 2
    Dernier message: 20/10/2003, 15h44

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