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

JavaScript Discussion :

paramètres communs entre plusieurs html


Sujet :

JavaScript

  1. #1
    Membre émérite
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Par défaut paramètres communs entre plusieurs html
    Voici le probleme
    j'ai une feuille html principale qui permet de choisir la langue et lors du choix, j'invoque un code JS ( externe dans XXX.js ) par l'appel de set_language(valeur) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var Language ;
    	function set_language(n)
    			 {
    			 Language = n;
    			 }
    puis on passe dans une autre page html où je souhaiterais initialiser des objets en fonction de la valeur affectée à Language ceci en utilisant d'autres fonctions ( aussi contenue dans XXX.js) du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	function abc() 
    	   { 												
    	   a	=	abc.arguments; 									
                ...
               switch(Language)
                  {
                  case 1:...  break;
                  case 2 :... break;
                  ... 
                  }							
                ...
               }
    Les 2 feuilles html accèdent xxx.js via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <SCRIPT LANGUAGE="javascript" SRC="JS/xxx.js"></SCRIPT>
    Malheureusement, il semble que lorsque je réinvoque xxx.js sur ma 2eme feuille, je perde tous les réglages précédemment fait.
    le passage entre feuille se fait via
    <a href="newfeuille.html">
    Comment doit ont procéder pour passer des paramètres d'une feuiile à l'autre?

    merci pour vos réponses.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Ouh la...
    On ne peut pas passer deux parametres a travers deux pages differentes en utilisant QUE javascript...
    Je sais que cela va deriver dans une discussion php mais bon...

    page1.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form name="form" action="page2.php" method="post">
    Valeur de $lang : <input type="text" name="lang">
    <a href="javascript:document.form.submit()">OK</a>
    </form>
    page2.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $lang = $_POST["lang"];
    ?>
    Valeur de $lang: <?php echo $lang; ?>

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    heu desolé de te contredire, mais on peut tout à fait passer des paramètres d'une page à l'autre uniquement avec javascript ...

    trois solutions:

    les cookies
    le passage des variables dans l'url (en GET)
    et avec IE uniquement avec les variables navigator ...

    Je conseille la deuxième et tu trouveras le script nécessaire dasn la faq :
    "passage de paramètres dasn l'url" ...

    Bonne continuation
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    trois solutions:

    les cookies
    le passage des variables dans l'url (en GET)
    et avec IE uniquement avec les variables navigator ...

    Je conseille la deuxième et tu trouveras le script nécessaire dasn la faq :
    "passage de paramètres dasn l'url" ...
    hum j'utiliserai les cookies :
    - au moins cela évite "d'alourdir" l'url en ajoutant des paramètres.
    - ensuite si l'utilisateur se reconnecte sur le site et si les cookies ne sont pas effacés (tu peux préciser la durée de vie d'un cookie), il ne sera pas obligé de réaliser une nouvelle fois les réglages

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Malheureusemùent les cookies sont de plus en plus souvent desactivés, et nombre d'internaites ne savent pas comment les réactiver ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre émérite
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Par défaut
    Tout d'abord MERCI: cela fonctionne.
    reste tout de même une question.
    pour tester, j'ai tansféré un choix de xx1.html vers xx2.htm
    XX1 : Choisir entre 5 champs en cliquant sur le texte puis envoyer sur xx2 avec le bouton prévu à cet effet
    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
     
    <html >
    	<head>
    	<title>tranfert param de xx1 sur xx2</title>
    	<script type="text/JavaScript">
    		<!--
    		function sel(n) 
    			{
    			document.getElementById("R").value = n;
    		        }
    		//-->
    		</script>
    	</head>
    <body>
    	<form action="xx2.html" method="get">  
      		<label>
      			<input type="hidden" name="R"   id="R"/>
      			</label>  
      		<p onClick="sel(1)">Ici pour sélectionner 1	</p>
    	  	<p onClick="sel(2)">Ici pour sélectionner 2	</p>
      		<p onClick="sel(3)">Ici pour sélectionner 3	</p>
      		<p onClick="sel(4)">Ici pour sélectionner 4	</p>
      		<p onClick="sel(5)">Ici pour sélectionner 5	</p>
     
        <label>
        	<input type="submit" name="Send" value="Envoyer parametres à xx2"  >
        	</label>
    	</form>
    </body>
    </html>
    XX2 : envoyer le choix à XX2 qui visualisera un calque adapté en conséquence
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <style type="text/css">
    <!--
    #Layer1 
    	{
    	position:absolute;	
    	width:25px;	height:20px;	z-index:1;	top:10px;	left:1px;	
    	visibility : hidden;
    	}
    #Layer2 
    	{
    	position:absolute;
    	width:25px;	height:20px;	top:10px;	z-index:2;	left: 1px;
    	visibility : hidden;
    	}
    #Layer3 
    	{
    	position:absolute;
    	width:25px;	height:20px;	top:10px;	z-index:3;	left: 1px;
    	visibility : hidden;
    	}
    #Layer4 
    	{
    	position:absolute;
    	width:25px;	height:20px;	top:10px;	z-index:4;	left: 1px;
    	visibility : hidden;
    	}
    #Layer5 
    	{
    	position:absolute;
    	width:25px;	height:20px;	z-index:5;	left: 1px;	top: 10px;
    	visibility:hidden;
    	}
    -->
    </style>
    <script language='javascript'>
    <!--
     
    function MM_findObj(n, d) 
        { 
        var p,i,x;  
        if(!d) 
           d=document; 
        if((p=n.indexOf("?"))>0&&parent.frames.length)      
           {
           d=parent.frames[n.substring(p+1)].document; 
           n=n.substring(0,p);
           }
        if(!(x=d[n])&&d.all) 
           x=d.all[n]; 
        for (i=0;!x&&i<d.forms.length;i++) 
           x=d.forms[i][n];
        for(i=0;!x&&d.layers&&i<d.layers.length;i++)   
           x=MM_findObj(n,d.layers[i].document);
        if(!x && d.getElementById) 
           x=d.getElementById(n); 
        return x;
        }
    function MM_showHideLayers() 
       { 
       var i,p,v,obj,
       args                  =   MM_showHideLayers.arguments;
       for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) 
          { 
          v=args[i+2];
          if (obj.style) 
             { 
             obj              =   obj.style; 
             v                =   (v=='show')?'visible':(v=='hide')?'hidden':v; }
             obj.visibility=v; 
             }
          }
    //-->
    <!-- SCRIPT DE DEVELOPPEZ.COM -->
    </script>
     
    <script language='javascript'>
       var nom=new Array();
       var valeur              =   new Array();
       var np                   =   0;  // un ajout     
       param = window.location.search.slice(1,window.location.search.length);
       first                      =   param.split("&");
       for(i=0;i<first.length;i++)
          {
          second               =   first[i].split("=");
          nom[i]                =   second[0];
          valeur[i]             =   second[1];
          np++;    //  1 ajout		
          } 
       function Select() // ma fonction de sélection invoquée sur "onLoad" de "body"
          {
          for (i=0; i < np; i++ )if ( nom[i] == 'R' )
             {
    	 if ( valeur[i] == '1' ) MM_showHideLayers('Layer1','','show');
    	 if ( valeur[i] == '2' ) MM_showHideLayers('Layer2','','show');
    	 if ( valeur[i] == '3' ) MM_showHideLayers('Layer3','','show');
    	 if ( valeur[i] == '4' ) MM_showHideLayers('Layer4','','show');
    	 if ( valeur[i] == '5' ) MM_showHideLayers('Layer5','','show');
    	 }
          }
    </script>	
    </head>
    <body onload="Select()">	 
    <div id="Layer1">-1-</div>
    <div id="Layer2">-2-</div>
    <div id="Layer3">-3-</div>
    <div id="Layer4">-4-</div>
    <div id="Layer5">-5-</div>
    </body>
    </html>
    question :

    Je n'ai pas réussi à envoyer directement sur xx2 le paramètre sélectionné dans xx1 ceci dès la selection d'un champ en s'affranchissant de l'existance du bouton 'send'.
    Comment peut-on procéder?

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    tu veux dire passer automatiquement les variables d'une page à l'autre ?

    du coup là ce sont les cookies qui remportent la palme car c'est la page de destination qui ira chercher le cookie enregistré par la page d'envoi ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre émérite
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Par défaut
    dans ue fenêtre d'accueil on choisi la langue et on souhaite passer directement à la suite ( sur un clik sur un texte ou su l'image du flag ) avec les reglages de textes, positions de fenêtres, ... fonction de la langue.

    je m'en sort en mettant dans xx1

    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
     
     
    <html >
    	<head>
    	<title>tranfert param de xx1 sur xx2</title>
    	<script type="text/JavaScript">
    		<!--
    		function sel(n) 
    			{
    			document.getElementById("R").value = n;
    			}
    		//-->
    		</script>
    	</head>
    <body>
    	<form action="xx2.html" method="get">  
      		<label>
      			<input type="hidden" name="R"   id="R"/>
    	  </label>  
     
        <label>
        	<input name="Send" type="submit"  value=""  border="none"    style="cursor:pointer;border-bottom:none; border:none;background:none; background-image:url(FR_Flag.gif);width:68px; height:50px; background-repeat:no-repeat" onClick="sel(1)">
        	<input name="Send" type="submit"  value=""  border="none"  style="border-bottom:none; border:none;background:none; background-image:url(UK_Flag.gif);width:68px; height:50px; background-repeat:no-repeat" onClick="sel(2)">
       	  </label>	
    	</form>
    </body>
    </html>
    ce qui est finalement une forme "cachée" de boutons "submit" de la form sans que le bouton apparaisse comme tel.

    en tout cas encore MERCI

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

Discussions similaires

  1. [CR XI] Champs paramètres communs entre 2 requètes
    Par Valmo dans le forum SAP Crystal Reports
    Réponses: 9
    Dernier message: 26/11/2009, 13h59
  2. Réponses: 9
    Dernier message: 29/07/2008, 23h04
  3. Communication entre plusieurs bases Access
    Par Jordmund dans le forum Access
    Réponses: 1
    Dernier message: 09/04/2008, 17h16
  4. Communication entre plusieurs fenetres
    Par tom42 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 03/03/2008, 17h49
  5. Communication entre plusieurs applications.
    Par granquet dans le forum Linux
    Réponses: 9
    Dernier message: 01/06/2006, 14h42

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