Transfert variables Javascript [Résolu]

riyuhou 16 Messages postés jeudi 17 novembre 2005Date d'inscription 28 février 2011 Dernière intervention - 24 déc. 2010 à 19:30 - Dernière réponse : riyuhou 16 Messages postés jeudi 17 novembre 2005Date d'inscription 28 février 2011 Dernière intervention
- 27 déc. 2010 à 01:57
Bonjour à tous.
Je viens vers vous aujourd'hui car j'ai un petit souci qui commence à me prendre la tête.
Je vais essayer d'être le plus clair possible, en gros, le souci est que j'aimerais savoir si je peux modifier la valeur d'une variable d'un fichier js à partir d'un autre fichier.

Alors, voici comment se goupille mon basard.

J'ai mon index.php qui appel mon fichier .js comme ceci :
<script type="text/javascript" src="porte_folio/js/animation_fenetres.js"></script>


Dans ce fichier, j'ai écrit les function que j'utilise dans ma page index.php. L'une d'entre elle utilise une variable global.

var ma_variable=false;
function ma_fonction(){
$('#rea').slideToggle('slow');
$('#slideshow').css("display", "none");
if (ma_variable==false){
ma_variable=true;
}else{
ma_variable=false;
}
}


/* Si ça peut aider à comprendre, cette fonction gère le déroulement d'un élément. A chaque fois elle est appelé, elle change le statue de la variable pour que je sache si l'élément est déroulé ou pas.*/


Maintenant j'aimerais pouvoir modifier cette variable, à partir de mon index.php
J'ai essayé ceci :
<?php
if (isset($_SESSION['rea'])){
?>
[code=js]<script type="text/javascript">
$("#rea").css("display", "block");
var ma_variable=true;
</script>

<?php
unset($_SESSION['rea']);
}
?>/code

Mais la variable ne se modifie pas. Alors est ce qu'il est au moins possible de le faire ? Si oui, ou est mon erreur ?

Voila, j'éspère que j'aurais été clair, si qq'un peut me faire un petit cadeau de noël en m'éclairant...ce serait sympa.

ps : j'ai essayé de contourner le problème en définissant directement la variable dans mon .js en fonction de l'affichage ou non d'un élément #rea de mon index.php ...mais la je sais pas si c'est même possible.
J'avais tenté ceci :

if($('#rea).css("display", "none")){
    var ma_variable=false;
} else {
    var ma_variable=true;
}
function ma_fonction(){
$('#rea').slideToggle('slow');
$('#slideshow').css("display", "none");
}
}


Inutile de vous dire que ce fut un échec cuisant .
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
PetoleTeam 3435 Messages postés lundi 26 décembre 2005Date d'inscription 14 janvier 2011 Dernière intervention - 26 déc. 2010 à 15:22
3
Merci
Bonjour les bubulles et les fois gras,
attention à la différence entre variable globale et variable locale
voici un petit code test pour voir la différence...
<script type="text/javascript">
var variable = "Valeur globale";
//--------------------
function ModifLocale(){
  var variable = "Valeur locale";
  alert( 'ModifLocale()\nVariable = ' +variable);
  variable = "nouvelle valeur locale";
  alert( 'ModifLocale()\nVariable = ' +variable);
}
//---------------------
function ModifGlobale(){
  alert( 'ModifGlobale()\nVariable = ' +variable);
  variable = "nouvelle valeur globale";
  alert( 'ModifGlobale()\nVariable = ' +variable);
}
ModifLocale();
alert( 'Variale = ' +variable);
ModifGlobale();
alert( 'Variale = ' +variable);
</script>


;O)

Merci PetoleTeam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de PetoleTeam
riyuhou 16 Messages postés jeudi 17 novembre 2005Date d'inscription 28 février 2011 Dernière intervention - 27 déc. 2010 à 01:57
0
Merci
Merci à toi Petole Team, j'ai compris mon erreur. Alors que je voulais seulement modifier la variable global déjà existante, j'en crais une autre en mettant "var" devant son nom.

Bah du coup, j'ai adapté pour arriver à ceux que je voulais faire, à savoir modifié une variable global contenu dans mon fichier fonction.js à partir de mon index.

UN petit code/schema (inspirer du tien) pour voir ce que ça donne (pour ceux que ça interesse, on sait jamais, ça peut aider) :

Script 1 contenant les fonctions :
var variable = "Valeur de base";
//--------------------
function ModifInterne(){
  alert( 'Valeur variable actuelle\nVariable = ' +variable);
  variable = "La variable a ete modifie de l'interieur de la fonction";
  alert( 'ModifInterne()\nVariable = ' +variable);
}


Et mon index.php ou je peux soit appeler la fonction (qui une fois effectuer modifiera la variable), ou soit affecter une nouvelle variable directement à partir de mon fichier index :

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test_variable2</title>
<script type="text/javascript" src="script_variable_1.js"></script>
<script type="text/javascript">

//--------------------
function ModifExterne(){
  alert( 'variable de base\nVariable = ' +variable);
  variable = "La variable a ete modifie à partir du fichier source";
  alert( 'ModifExterne()\nVariable = ' +variable);
}
//---------------------

ModifInterne();
</script>


 modifier la valeur de l'exterieur 


 modifier la valeur de l'interieur 


<script type="text/javascript">
document.getElementById('bt_externe').onclick= function (){
  ModifExterne();
}

document.getElementById('bt_interne').onclick= function (){
  ModifInterne();
}

</script>




</html>.

Encore merci, pour ton aide!
Commenter la réponse de riyuhou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.