Passage paramètre entre page HTML

cs_fb78 Messages postés 12 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 20 février 2008 - 16 nov. 2007 à 12:55
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 17 nov. 2007 à 10:30
Bonjour,
Je sais, la question a été posée 1000 fois et j'ai essayé toutes les réponses proposées. Donc je vais la formuler autrement :
Une variable globale (donc en dehors de toutes fonctions) déclarée dans un fichier .js contenant aussi des fonctions Javascript conserve-t-elle sa valeur si ce même fichier est utilisé dans 2 pages différentes (c'est le but d'un fichier .js),  car il semble que lorsque j'appelle la 2ème page, cette variable globale soit réinitialisée à sa valeur par défaut (c.a.d. "undefined") puisque le fait de recharger cette variable quand on appelle la 2ème page efface la valeur initialisée par la premère.
Est-ce que je dis une bétise ou bien il faut utiliser une autre méthode ?
Merci de me donner un exemple ressemblant au mien.

exemple :
contenu de fonctions.js :

var global_a;
function x() {
global_a = 1;
}
function y()  {
alert(global_a);
}

contenu de la page 1.html :

<head>
<script language="JavaScript" src="fonctions.js"></script>
</head>

x();

contenu de la page 2.html :

<head>

<script language="JavaScript" src="fonctions.js"></script>

</head>


y();          // javascript dit "undefined" ??????


J'ai simplifié au max pour être le plus clair possible.
Merci de me sortir de ce pétrin !!!

8 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 nov. 2007 à 13:12
Bonjour,



>>Une variable globale (donc en dehors de toutes fonctions)
    ok. je suis d'accord

>>déclarée dans
un fichier .js
    aucune importance.

>>dans 2 pages différentes
(c'est le but d'un fichier .js), 
    un .js n'est pas fait pour ça.
    un .js c'est un copié/collé là où est mis le <script src=...>

       pas plus, pas moins.



    cookies, paramètres dans l'url...  pour communiquer entre pages

    ( si autre page ouverte avec window.open, c'est autre chose )




<hr />                Cordialement            Bul        
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 nov. 2007 à 13:17
global, en javascript, c'est dans la page pas entre plusieurs pages.

pour passer des paramètres entre pages :
cookies, paramètres dans l'url...

<hr />                Cordialement            Bul        
0
cs_fb78 Messages postés 12 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 20 février 2008
16 nov. 2007 à 13:29
merci bultez de ta réponse rapide.
peux-tu me faire un petit exemple de passage des paramètres dans l'url et surtout comment je les récupèrent dans la page appelée.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 nov. 2007 à 14:05
les exemples fourmillent.. y compris sur Codes-Sources.

mais comme j'ai sous la main :

appel  
    location.href="test.htm?p1=v1&p2=v2";
récupération dans test.thm :
   
window.location.search    qui sera égal à :






?p1=v1&p2=v2



un petit substr, un split ou 2....  et ça baigne

exemple de généralisation ( appel la même page, mais bon,
    il suffit de changer la page à appeler ( quelque soit la
    manière de le faire ) : c'est ici






<hr />                Cordialement            Bul        
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_fb78 Messages postés 12 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 20 février 2008
16 nov. 2007 à 14:22
merci beaucoup pour ton aide si précieuse (comment ferait-on sans bultez ?)
je met tout ça en application et je reviens donner le résultat
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 nov. 2007 à 14:29
>>comment ferait-on sans bultez ?
    d'autres intervenants répondraient ( et souvent bien mieux )
>>je reviens donner le résultat
    ça c'est bien ( que ça baigne ou pas ! )


<hr />                Cordialement            Bul        
0
cs_fb78 Messages postés 12 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 20 février 2008
17 nov. 2007 à 09:26
eh bien ça baigne !
juste une petite précision pour simplifier, les paramètres peuvent du style :
[test.htm?param1;param2;etc appel page test]
et du coté de la page test :
params = window.location.search.split(";"); // séparation des paramètres
param1 = params[0].substring(1,params[0].length); // pour supprimer le ?
param2 = params[1]; // les suivants sont épurés
etc = params[2];
et encore merci.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 nov. 2007 à 10:30
tu y mets ce que tu veux.
    seul le ? est nécessaire, quoique... # ( ou autres ) ça marcherait-y pas ???
?p1=valeur1&p2=valeur2.... c'est pour
    "ressembler" à ce qu'attend le langage sur le serveur,
    mais en fait , c'est une bête chaîne de caractères.
<hr />                Cordialement            Bul        
0
Rejoignez-nous