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 :

Passer une variable d'un côté à un autre


Sujet :

jQuery

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut Passer une variable d'un côté à un autre
    Bonjour tous.
    J'espère que vous aller bien

    J'ai un problème. Je veux utilisé uploadify pour télécharger des images
    Code jquery : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     $('#image_fr').uploadify({
            'uploader'  : '../../manager/templates/rives/jquery/uploadify-v2.1.4/uploadify.swf',
            'script'    : '../../manager/templates/rives/jquery/uploadify-v2.1.4/uploadify.php?page='+page_id,
            'cancelImg' : '../../manager/templates/rives/jquery/uploadify-v2.1.4/cancel.png',
            'folder'    : '../../images/produits/',
    		'fileExt'	: '*.jpg; *.gif; *.png',
    		'fileDesc'	: 'img',
    		'multi'		: false
     
          });
    Si vous observez bien, je passe une variable "page_id" dans le fichier uploadify.
    Si je mets une valeur fix ca marche.

    Aussi, j'ai un formulaire avec un sélect. Quand je change déroule mon menu déroulant j'arive afficher la valeur de value="" comme ceci
    Code jquery : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $("#id_f_page").change(function() {
        alert($(this).find("option:selected").text()+' clicked!');
    });

    J'aimerais que mon alert ait passer sa valeur de la variable qui est passer dans le fichier uploadify. Ceci de manière à ce que la valeur de ma variable page_id change a chaque fois que je sélectionne une nouvelle valeur de mon menu déroulant
    Alors j'ai fait ceci
    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
     
    <script type="text/javascript">
     
        $(document).ready(function() {
    		$("#id_f_page").change(function() {
    	   		var page_id = $(this).find("option:selected").val();
    		});
     
     
     
          $('#image_fr').uploadify({
            'uploader'  : '../../manager/templates/rives/jquery/uploadify-v2.1.4/uploadify.swf',
            'script'    : '../../manager/templates/rives/jquery/uploadify-v2.1.4/uploadify.php?page_id='+page_id,
            'cancelImg' : '../../manager/templates/rives/jquery/uploadify-v2.1.4/cancel.png',
            'folder'    : '../../images/produits/',
    		'fileExt'	: '*.jpg; *.gif; *.png',
    		'fileDesc'	: 'img',
    		'multi'		: false
     
          });
        });
        </script>
    Le problème, c'est que le page_id
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uploadify.php?page_id='+page_id,
    ne récupère par la valeur de ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var page_id = $(this).find("option:selected").val();
    Pourriez-vous me dire ce que je peux faire?

    Merci

  2. #2
    Membre régulier Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Points : 116
    Points
    116
    Par défaut
    C'est normal... Dans ta méthode .change tu ne dis pas à uploadify de reprendre ta variable, donc forcément il ne sait pas qu'es ce qu'il doit prendre...

    Peut-être comme ça ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Tu déclare AVANT ton uploadify
    $('#image_fr').uploadify({
            'uploader'  : '../../manager/templates/rives/jquery/uploadify-v2.1.4/uploadify.swf',
            'script'    : '../../manager/templates/rives/jquery/uploadify-v2.1.4/uploadify.php?page=0', //valeur par défaut, car ta variable existe pas
            'cancelImg' : '../../manager/templates/rives/jquery/uploadify-v2.1.4/cancel.png',
            'folder'    : '../../images/produits/',
    		'fileExt'	: '*.jpg; *.gif; *.png',
    		'fileDesc'	: 'img',
    		'multi'		: false
     
          });
    Ensuite dans ton .change :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $("#id_f_page").change(function() {
    	   		var page_id = $(this).find("option:selected").val();
    //Donc ici tu as ta valeur, mais dès que tu sors de ta fonction ta variable n'existe plus.
     
    //Avec ceci tu mettra à jour ton attribut script avec le bon lien et la bonne valeur à passer en paramètres.
    $('#image_fr').uploadify({'script'    : '../../manager/templates/rives/jquery/uploadify-v2.1.4/uploadify.php?page='+page_id,});
    		});
    En espérant que ça t'aide ^^
    Cordialement

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Salut, Je te remercie pour ta proposition mais ca ne marche pas.
    J'ai exactement fait comme tu me l'as indiqué, mais quad je charge une image il y a trois chargement à la place de une.
    Et que je vais voir dans le code, je ne vois pas la vaeur de ?page= qui change

  4. #4
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Il faudrait peut-être que tu t'interroges sur les notions de scope et de portée des variables.
    Une variable déclarée dans une fonction (comme page_id dans ton cas) n'est plus accessible en dehors de cette fonction.

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    oui mais comment faire avec jquery?
    Es-ce qu'on peut utiliser un "global"?

  6. #6
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par pierrot10
    oui mais comment faire avec jquery?
    Ben on peut pas dire que tu as beaucoup d'imagination...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function() {
    	$("#id_f_page").change(function() {
    	   	var page_id = $(this).find("option:selected").val();
    	});
    ...
    }


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $(document).ready(function() {
    	var page_id;
    	$("#id_f_page").change(function() {
    	   	page_id = $(this).find("option:selected").val();
    	});
    ...
    }
    Fascinant non ?

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Mais je necomprend pas pourquoi on parle de portée de varaible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      		var page_id = $(this).find("option:selected").val();
    			//Donc ici tu as ta valeur, mais dès que tu sors de ta fonction ta variable n'existe plus.
    			//Avec ceci tu mettra à jour ton attribut script avec le bon lien et la bonne valeur à passer en paramètres.
    			$('#image_fr').uploadify({'script'    : '../../manager/templates/rives/jquery/uploadify-v2.1.4/uploadify.php?page='+page_id,});
    la variable page_id est déclarée dans la fonction et est utilisée en peut plus bas?
    Donc ou le problème de portée?

  8. #8
    Membre régulier Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Points : 116
    Points
    116
    Par défaut
    Essais quelque chose 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
     
    $(document).ready(function() {
    $("#id_f_page").change(function() {
    	   	var page_id = $(this).find("option:selected").val();
                    $('#image_fr').uploadify = null;
                    $('#image_fr').uploadify({
            'uploader'  : '../../manager/templates/rives/jquery/uploadify-v2.1.4/uploadify.swf',
            'script'    : '../../manager/templates/rives/jquery/uploadify-v2.1.4/uploadify.php?page='+page_id,
            'cancelImg' : '../../manager/templates/rives/jquery/uploadify-v2.1.4/cancel.png',
            'folder'    : '../../images/produits/',
    		'fileExt'	: '*.jpg; *.gif; *.png',
    		'fileDesc'	: 'img',
    		'multi'		: false
     
          });
    	});

Discussions similaires

  1. Passer une variable d'un formulaire à l'autre
    Par SangZug dans le forum IHM
    Réponses: 6
    Dernier message: 12/05/2013, 02h57
  2. [1.x] Passer une variable d'un template à l'autre
    Par fastone650 dans le forum Débuter
    Réponses: 6
    Dernier message: 28/12/2010, 14h07
  3. [Débutant] Passer une variable d'un GUI à un autre
    Par pompier21 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 28/01/2009, 10h09
  4. Passer une variable d'un IF à l'autre
    Par JeanMi66 dans le forum Langage
    Réponses: 3
    Dernier message: 25/06/2007, 19h03
  5. passer une variable d'une fonction à une autre
    Par Psyion dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/12/2005, 16h01

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