Partage
  • Partager sur Facebook
  • Partager sur Twitter

Jquery : transmission variable

Comment en étendre la portée ?

Sujet résolu
    4 août 2011 à 10:37:25

    Bonjour à tous,

    Et bien voilà, je parcours le net depuis bientôt deux heures et je ne parviens pas à trouver de solution à mon problème (pour un peu j'ai la solution sous le nez et je ne la vois pas mais bon...) ;)

    Donc, avant tout, voici mon code :

    $(document).ready(function() {
    
    	//Si on clique sur le bouton de confirmation
    	$('.deletePost').click(function() {
    		var postId = $(this).attr("href");
    		$.blockUI({ message: $('#question'), css: { width: '275px' } });
    		return false;
    	});
    
    	//Si on clique oui, on redirige vers l'url du href
    	$('#yes').click(function() {
    		$.blockUI({ message: "Destination : "+postId });
    		//window.location.href=""+destination+"";
    	});
    
    	//Si on clique sur non, no action
    	$('#no').click(function() {
    		$.unblockUI();
    		return false;
    	});
    
    });
    


    Comme vous le voyez, en cliquant sur le lien ".deletePost", je récupère l'url de destination, j'offre ensuite la possibilité à l'utilisateur de poursuivre ou d'annuler son action (ouais c'est un message de confirmation en fait :p ).

    Or je ne parviens pas à transmettre ma variable postId à ma la fonction activée lorsqu'on clique sur "#yes", j'ai bien vu que si je voulais en faire une variable globale il faudrait la déclarer avant la fonction de clique sur ".deletePos",

    Je me demande donc si il y a un moyen d'étendre la portée de cette fichue variable, et si il n'y en a pas, si quelqu'un à une solution pour que je puisse rediriger l'utilisateur vers l'url de mon ".deletePost".

    Merci beaucoup.
    et puis merci aussi :-°
    • Partager sur Facebook
    • Partager sur Twitter
      4 août 2011 à 10:49:03

      Salut,

      et si tu inclues les 2 clicks (yes et no) dans ton $('.deletePost').click(... ? :)

      ou sinon, tu fais une fonction yes() qui prend en paramètre l'url.
      • Partager sur Facebook
      • Partager sur Twitter
        4 août 2011 à 10:56:42

        Alors j'avais essayé de les inclure dans mon ".deletePost", mais le plugin jQuery ne retourne plus rien du tout, ça ne fonctionne pas.

        Mais cette fonction yes où est ce que je dois la placer, parce que j'ai besoin que mon utilisateur clique sur #yes avant de faire ma redirection... :(

        Merci pour tes remarques en tout cas :)
        • Partager sur Facebook
        • Partager sur Twitter
          4 août 2011 à 11:02:54

          Hors de ton $(document).ready(//)

          function yes(url) {
          $('#yes').click(function() {
          	$.blockUI({ message: "Destination : "+url });
          	//window.location.href = destination;  sans les " " c'est mieux ;-)
          });
          }
          


          et dans ton .deletePost :

          var postId = $(this).attr("href");
          yes(postId);
          
          • Partager sur Facebook
          • Partager sur Twitter
            4 août 2011 à 11:14:01

            J'ai trouvé, ton premier conseil était le bon, j'ai réessayé de mettre les #yes et #no dans mon .deletePost et ça fonctionne !

            Merci aussi pour ta fonction yes(), bien que je n'arrive tout de même pas à transmettre l'url dans la fonction, mais là c'est moi qui suis mauvais ^^

            J'affiche le code fonctionnel pour les suivants :

            //Si on clique sur le bouton de confirmation
            	$('.deletePost').click(function() {
            		var postId = $(this).attr("href");
            		$.blockUI({ message: $('#question'), css: { width: '275px' } });
            		
            		//Si on clique oui, on redirige vers l'url du href
            		$('#yes').click(function() {
            			window.location.href = postId;
            		});
            		
            		//Si on clique sur non, no action
            		$('#no').click(function() {
            			$.unblockUI();
            			return false;
            		});
            		
            		return false;
            	});
            


            Merci encore et bonne journée !
            • Partager sur Facebook
            • Partager sur Twitter

            Jquery : transmission variable

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown