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 :

array soit aussi numeric !


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Points : 26
    Points
    26
    Par défaut array soit aussi numeric !
    Bonjour à tous,

    J'espère que je trouverai de l'aide ici car je galère depuis quelques jours .

    Voila j'ai un script en Javascript qui marche bien, cependant il ne fonctionne que si seulement si les variables étaient des caractères exclusivement alphabétique et non numériques.

    Ma question est : comment inverser la tendance, en plus clair comment modifier ce script pour qu'il accepte les variables alphanumérique ou sinon exclusivement numérique .

    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
     
     
    var FranceArray =  new Array("('Région parisienne','Région parisienne',true,true)","('------------')","('Aix en Provence','Aix en Provence')","('Ajaccio','Ajaccio')","('Amiens','Amiens')","('Angers','Angers')","('Angoulême','Angoulême')","('Annecy','Annecy')","('Avignon','Avignon')","('Besançon','Besançon')","('Biarritz','Biarritz')","('Bordeaux','Bordeaux')","('Brest','Brest')","('Caen','Caen')","('Cannes','Cannes')","('Chartres','Chartres')","('Clermont-Ferrand','Clermont-Ferrand')","('Dijon','Dijon')","('Grenoble','Grenoble')","('La Rochelle','La Rochelle')","('Le Havre','Le Havre')","('Le Mans','Le Mans')","('Lille','Lille')","('Limoges','Limoges')","('Lyon','Lyon')","('Marseille','Marseille')","('Metz','Metz')","('Montpellier','Montpellier')","('Mulhouse','Mulhouse')","('Nancy','Nancy')","('Nantes','Nantes')","('Nice','Nice')","('Nîmes','Nîmes')","('Orléans','Orléans')","('Paris','Paris')","('Pau','Pau')","('Perpignan','Perpignan')","('Poitiers','Poitiers')","('Reims','Reims')","('Rennes','Rennes')","('Rouen','Rouen')","('Strasbourg','Strasbourg')","('Toulon','Toulon')","('Toulouse','Toulouse')","('Tours','Tours')");
    var BelgiqueArray =  new Array("('Antwerpen','Antwerpen')","('Bruxelles','Bruxelles',true,true)","('Charleroi','Charleroi')","('Courtrai','Courtrai')","('Gent','Gent')","('Hasselt','Hasselt')","('Liège','Liège')","('Leuven','Leuven')","('Louvain-la-Neuve','Louvain-la-Neuve')","('Mons','Mons')","('Namur','Namur')","('Tournai','Tournai')");
    var SuisseArray =  new Array("('Bâle','Bâle')","('Berne','Berne')","('Genève','Genève',true,true)","('Interlaken','Interlaken')","('Lausanne','Lausanne')","('Lucerne','Lucerne')","('Neufchâtel','Neufchâtel')","('Zürich','Zürich')");
    var CanadaArray =  new Array("('Calgary','Calgary')","('Montréal','Montréal',true,true)","('Ottawa','Ottawa')","('Toronto','Toronto')","('Québec','Québec')","('Vancouver','Vancouver')");
    var AngleterreArray =  new Array("('Birmingham','Birmingham')","('Brighton','Brighton')","('Glasgow','Glasgow')","('Leeds','Leeds')","('Liverpool','Liverpool')","('London','London',true,true)","('Manchester','Manchester')","('Oxford','Oxford')");
    var AllemagneArray =  new Array("('Berlin','Berlin',true,true)","('Bonn','Bonn')","('Bremen','Bremen')","('Düsseldorf','Düsseldorf')","('Hamburg','Hamburg')","('Heidelberg','Heidelberg')","('Iena','Iena')","('Leipzig','Leipzig')","('Munchen','Munchen')","('Nuremberg','Nuremberg')","('Stuttgart','Stuttgart')");
     
    function populateVille (inForm,selected){
    	var selectedArray = eval(selected + "Array");
    	while (selectedArray.length < inForm.ville.options.length) inForm.ville.options[(inForm.ville.options.length - 1)] = null;
    	for (var i=0; i < selectedArray.length; i++) eval("inForm.ville.options[i]=" + "new Option" + selectedArray[i]);
    	if (inForm.pays.options[0].value == ''){
    		inForm.pays.options[0]= null;
    		if ( navigator.appName == 'Netscape'){
    			if (parseInt(navigator.appVersion) < 4){
    				window.history.go(0);
    			} else {
    				if (navigator.platform == 'Win32' || navigator.platform == 'Win16'){
    					window.history.go(0);
    				}
    			}
    		}
    	}
    }
    Dans ce script tant que les variables "var FranceArray" est alphabétique ça marche en revanche si je met "var 1Array" ça ne marche plus .

    Merci d'avance de votre aide .

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    en fait, je ne vois pas où tu définis ta contrainte "alphanum";

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Je n'ai défini aucune contrainte enfin j'espère, seulement dans une liste :

    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
     
    <select name="pays" onChange="populateVille(document.europe,document.europe.pays.options[document.europe.pays.selectedIndex].value)">
    <option value='Allemagne'>Allemagne</option>
    <option value='Angleterre'>Angleterre</option>
    <option value='Belgique'>Belgique</option>
    <option value='Canada'>Canada</option>
    <option value='France' selected>France</option>
    <option value='Suisse'>Suisse</option> 
    </select>
     
     
     
    <select name="ville">
    <option value=''>--------------------</option>
    </select>
    Tant que les values des options
    <option value='Angleterre'>Angleterre</option>
    est alphabétique le script javascript fonctionne, alors que si je donne à l'option une valeur numérique exemple
    <option value='1'>Angleterre</option>

    et que dans le script JS je change :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var AngleterreArray =  new Array("('Birmingham','Birmingham')","('Brighton','Brighton')","('Glasgow','Glasgow')","('Leeds','Leeds')","('Liverpool','Liverpool')","('London','London',true,true)","('Manchester','Manchester')","('Oxford','Oxford')");
    Par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var 1Array =  new Array("('Birmingham','Birmingham')","('Brighton','Brighton')","('Glasgow','Glasgow')","('Leeds','Leeds')","('Liverpool','Liverpool')","('London','London',true,true)","('Manchester','Manchester')","('Oxford','Oxford')");
    cela ne marche pas .

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    aucun identifiant JS ne peut commencer par un chiffre;

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    juste pour savoir, tu as pensé à écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var selectedArray = eval("Array" + selected );
    ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par javatwister Voir le message
    juste pour savoir, tu as pensé à écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var selectedArray = eval("Array" + selected );
    ?


    Je viens d'essayer ça ne marche pas .

    Pour exemple et vous pouvez tester :

    Ceci fonctionne :
    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
     
    <html>
    <head>
    <script language="JavaScript"> 
    var FranceArray =  new Array("('Région parisienne','Région parisienne',true,true)","('------------')","('Aix en Provence','Aix en Provence')","('Ajaccio','Ajaccio')","('Amiens','Amiens')","('Angers','Angers')","('Angoulême','Angoulême')","('Annecy','Annecy')","('Avignon','Avignon')","('Besançon','Besançon')","('Biarritz','Biarritz')","('Bordeaux','Bordeaux')","('Brest','Brest')","('Caen','Caen')","('Cannes','Cannes')","('Chartres','Chartres')","('Clermont-Ferrand','Clermont-Ferrand')","('Dijon','Dijon')","('Grenoble','Grenoble')","('La Rochelle','La Rochelle')","('Le Havre','Le Havre')","('Le Mans','Le Mans')","('Lille','Lille')","('Limoges','Limoges')","('Lyon','Lyon')","('Marseille','Marseille')","('Metz','Metz')","('Montpellier','Montpellier')","('Mulhouse','Mulhouse')","('Nancy','Nancy')","('Nantes','Nantes')","('Nice','Nice')","('Nîmes','Nîmes')","('Orléans','Orléans')","('Paris','Paris')","('Pau','Pau')","('Perpignan','Perpignan')","('Poitiers','Poitiers')","('Reims','Reims')","('Rennes','Rennes')","('Rouen','Rouen')","('Strasbourg','Strasbourg')","('Toulon','Toulon')","('Toulouse','Toulouse')","('Tours','Tours')");
    var BelgiqueArray =  new Array("('Antwerpen','Antwerpen')","('Bruxelles','Bruxelles',true,true)","('Charleroi','Charleroi')","('Courtrai','Courtrai')","('Gent','Gent')","('Hasselt','Hasselt')","('Liège','Liège')","('Leuven','Leuven')","('Louvain-la-Neuve','Louvain-la-Neuve')","('Mons','Mons')","('Namur','Namur')","('Tournai','Tournai')");
    var SuisseArray =  new Array("('Bâle','Bâle')","('Berne','Berne')","('Genève','Genève',true,true)","('Interlaken','Interlaken')","('Lausanne','Lausanne')","('Lucerne','Lucerne')","('Neufchâtel','Neufchâtel')","('Zürich','Zürich')");
    var CanadaArray =  new Array("('Calgary','Calgary')","('Montréal','Montréal',true,true)","('Ottawa','Ottawa')","('Toronto','Toronto')","('Québec','Québec')","('Vancouver','Vancouver')");
    var AngleterreArray =  new Array("('Birmingham','Birmingham')","('Brighton','Brighton')","('Glasgow','Glasgow')","('Leeds','Leeds')","('Liverpool','Liverpool')","('London','London',true,true)","('Manchester','Manchester')","('Oxford','Oxford')");
    var AllemagneArray =  new Array("('Berlin','Berlin',true,true)","('Bonn','Bonn')","('Bremen','Bremen')","('Düsseldorf','Düsseldorf')","('Hamburg','Hamburg')","('Heidelberg','Heidelberg')","('Iena','Iena')","('Leipzig','Leipzig')","('Munchen','Munchen')","('Nuremberg','Nuremberg')","('Stuttgart','Stuttgart')");
     
    function populateVille (inForm,selected){
    	var selectedArray = eval(selected + "Array");
    	while (selectedArray.length < inForm.ville.options.length) inForm.ville.options[(inForm.ville.options.length - 1)] = null;
    	for (var i=0; i < selectedArray.length; i++) eval("inForm.ville.options[i]=" + "new Option" + selectedArray[i]);
    	if (inForm.pays.options[0].value == ''){
    		inForm.pays.options[0]= null;
    		if ( navigator.appName == 'Netscape'){
    			if (parseInt(navigator.appVersion) < 4){
    				window.history.go(0);
    			} else {
    				if (navigator.platform == 'Win32' || navigator.platform == 'Win16'){
    					window.history.go(0);
    				}
    			}
    		}
    	}
    }
    </script>
    </head>
    <body>
    <form method="post" action="3" name="europe"> 
     
    <select name="pays" onChange="populateVille(document.europe,document.europe.pays.options[document.europe.pays.selectedIndex].value)">
    <option value='Allemagne'>Allemagne</option>
    <option value='Angleterre'>Angleterre</option>
    <option value='Belgique'>Belgique</option>
    <option value='Canada'>Canada</option>
    <option value='France' selected>France</option>
    <option value='Suisse'>Suisse</option> 
    </select>
     
     
     
    <select name="ville">
    <option value=''>--------------------</option>
    </select>
    </form> 
     
    </body>
    </html>


    Ceci aussi ne fonctionne pas :

    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
     
    <html>
    <head>
    <script language="JavaScript"> 
    var 5Array =  new Array("('Région parisienne','Région parisienne',true,true)","('------------')","('Aix en Provence','Aix en Provence')","('Ajaccio','Ajaccio')","('Amiens','Amiens')","('Angers','Angers')","('Angoulême','Angoulême')","('Annecy','Annecy')","('Avignon','Avignon')","('Besançon','Besançon')","('Biarritz','Biarritz')","('Bordeaux','Bordeaux')","('Brest','Brest')","('Caen','Caen')","('Cannes','Cannes')","('Chartres','Chartres')","('Clermont-Ferrand','Clermont-Ferrand')","('Dijon','Dijon')","('Grenoble','Grenoble')","('La Rochelle','La Rochelle')","('Le Havre','Le Havre')","('Le Mans','Le Mans')","('Lille','Lille')","('Limoges','Limoges')","('Lyon','Lyon')","('Marseille','Marseille')","('Metz','Metz')","('Montpellier','Montpellier')","('Mulhouse','Mulhouse')","('Nancy','Nancy')","('Nantes','Nantes')","('Nice','Nice')","('Nîmes','Nîmes')","('Orléans','Orléans')","('Paris','Paris')","('Pau','Pau')","('Perpignan','Perpignan')","('Poitiers','Poitiers')","('Reims','Reims')","('Rennes','Rennes')","('Rouen','Rouen')","('Strasbourg','Strasbourg')","('Toulon','Toulon')","('Toulouse','Toulouse')","('Tours','Tours')");
    var 3Array =  new Array("('Antwerpen','Antwerpen')","('Bruxelles','Bruxelles',true,true)","('Charleroi','Charleroi')","('Courtrai','Courtrai')","('Gent','Gent')","('Hasselt','Hasselt')","('Liège','Liège')","('Leuven','Leuven')","('Louvain-la-Neuve','Louvain-la-Neuve')","('Mons','Mons')","('Namur','Namur')","('Tournai','Tournai')");
    var 6Array =  new Array("('Bâle','Bâle')","('Berne','Berne')","('Genève','Genève',true,true)","('Interlaken','Interlaken')","('Lausanne','Lausanne')","('Lucerne','Lucerne')","('Neufchâtel','Neufchâtel')","('Zürich','Zürich')");
    var 4Array =  new Array("('Calgary','Calgary')","('Montréal','Montréal',true,true)","('Ottawa','Ottawa')","('Toronto','Toronto')","('Québec','Québec')","('Vancouver','Vancouver')");
    var 2Array =  new Array("('Birmingham','Birmingham')","('Brighton','Brighton')","('Glasgow','Glasgow')","('Leeds','Leeds')","('Liverpool','Liverpool')","('London','London',true,true)","('Manchester','Manchester')","('Oxford','Oxford')");
    var 1Array =  new Array("('Berlin','Berlin',true,true)","('Bonn','Bonn')","('Bremen','Bremen')","('Düsseldorf','Düsseldorf')","('Hamburg','Hamburg')","('Heidelberg','Heidelberg')","('Iena','Iena')","('Leipzig','Leipzig')","('Munchen','Munchen')","('Nuremberg','Nuremberg')","('Stuttgart','Stuttgart')");
     
    function populateVille (inForm,selected){
    	var selectedArray = eval(selected + "Array");
    	while (selectedArray.length < inForm.ville.options.length) inForm.ville.options[(inForm.ville.options.length - 1)] = null;
    	for (var i=0; i < selectedArray.length; i++) eval("inForm.ville.options[i]=" + "new Option" + selectedArray[i]);
    	if (inForm.pays.options[0].value == ''){
    		inForm.pays.options[0]= null;
    		if ( navigator.appName == 'Netscape'){
    			if (parseInt(navigator.appVersion) < 4){
    				window.history.go(0);
    			} else {
    				if (navigator.platform == 'Win32' || navigator.platform == 'Win16'){
    					window.history.go(0);
    				}
    			}
    		}
    	}
    }
    </script>
    </head>
    <body>
    <form method="post" action="3" name="europe"> 
     
    <select name="pays" onChange="populateVille(document.europe,document.europe.pays.options[document.europe.pays.selectedIndex].value)">
    <option value='1'>Allemagne</option>
    <option value='2'>Angleterre</option>
    <option value='3'>Belgique</option>
    <option value='4'>Canada</option>
    <option value='5' selected>France</option>
    <option value='6'>Suisse</option> 
    </select>
     
     
     
    <select name="ville">
    <option value=''>--------------------</option>
    </select>
    </form> 
     
    </body>
    </html>

    Ceci fonctionne :

    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
    <html>
    <head>
    <script language="JavaScript"> 
    var e5Array =  new Array("('Région parisienne','Région parisienne',true,true)","('------------')","('Aix en Provence','Aix en Provence')","('Ajaccio','Ajaccio')","('Amiens','Amiens')","('Angers','Angers')","('Angoulême','Angoulême')","('Annecy','Annecy')","('Avignon','Avignon')","('Besançon','Besançon')","('Biarritz','Biarritz')","('Bordeaux','Bordeaux')","('Brest','Brest')","('Caen','Caen')","('Cannes','Cannes')","('Chartres','Chartres')","('Clermont-Ferrand','Clermont-Ferrand')","('Dijon','Dijon')","('Grenoble','Grenoble')","('La Rochelle','La Rochelle')","('Le Havre','Le Havre')","('Le Mans','Le Mans')","('Lille','Lille')","('Limoges','Limoges')","('Lyon','Lyon')","('Marseille','Marseille')","('Metz','Metz')","('Montpellier','Montpellier')","('Mulhouse','Mulhouse')","('Nancy','Nancy')","('Nantes','Nantes')","('Nice','Nice')","('Nîmes','Nîmes')","('Orléans','Orléans')","('Paris','Paris')","('Pau','Pau')","('Perpignan','Perpignan')","('Poitiers','Poitiers')","('Reims','Reims')","('Rennes','Rennes')","('Rouen','Rouen')","('Strasbourg','Strasbourg')","('Toulon','Toulon')","('Toulouse','Toulouse')","('Tours','Tours')");
    var c3Array =  new Array("('Antwerpen','Antwerpen')","('Bruxelles','Bruxelles',true,true)","('Charleroi','Charleroi')","('Courtrai','Courtrai')","('Gent','Gent')","('Hasselt','Hasselt')","('Liège','Liège')","('Leuven','Leuven')","('Louvain-la-Neuve','Louvain-la-Neuve')","('Mons','Mons')","('Namur','Namur')","('Tournai','Tournai')");
    var f6Array =  new Array("('Bâle','Bâle')","('Berne','Berne')","('Genève','Genève',true,true)","('Interlaken','Interlaken')","('Lausanne','Lausanne')","('Lucerne','Lucerne')","('Neufchâtel','Neufchâtel')","('Zürich','Zürich')");
    var d4Array =  new Array("('Calgary','Calgary')","('Montréal','Montréal',true,true)","('Ottawa','Ottawa')","('Toronto','Toronto')","('Québec','Québec')","('Vancouver','Vancouver')");
    var b2Array =  new Array("('Birmingham','Birmingham')","('Brighton','Brighton')","('Glasgow','Glasgow')","('Leeds','Leeds')","('Liverpool','Liverpool')","('London','London',true,true)","('Manchester','Manchester')","('Oxford','Oxford')");
    var a1Array =  new Array("('Berlin','Berlin',true,true)","('Bonn','Bonn')","('Bremen','Bremen')","('Düsseldorf','Düsseldorf')","('Hamburg','Hamburg')","('Heidelberg','Heidelberg')","('Iena','Iena')","('Leipzig','Leipzig')","('Munchen','Munchen')","('Nuremberg','Nuremberg')","('Stuttgart','Stuttgart')");
     
    function populateVille (inForm,selected){
    	var selectedArray = eval(selected + "Array");
    	while (selectedArray.length < inForm.ville.options.length) inForm.ville.options[(inForm.ville.options.length - 1)] = null;
    	for (var i=0; i < selectedArray.length; i++) eval("inForm.ville.options[i]=" + "new Option" + selectedArray[i]);
    	if (inForm.pays.options[0].value == ''){
    		inForm.pays.options[0]= null;
    		if ( navigator.appName == 'Netscape'){
    			if (parseInt(navigator.appVersion) < 4){
    				window.history.go(0);
    			} else {
    				if (navigator.platform == 'Win32' || navigator.platform == 'Win16'){
    					window.history.go(0);
    				}
    			}
    		}
    	}
    }
    </script>
    </head>
    <body>
    <form method="post" action="3" name="europe"> 
     
    <select name="pays" onChange="populateVille(document.europe,document.europe.pays.options[document.europe.pays.selectedIndex].value)">
    <option value='a1'>Allemagne</option>
    <option value='b2'>Angleterre</option>
    <option value='c3'>Belgique</option>
    <option value='d4'>Canada</option>
    <option value='e5' selected>France</option>
    <option value='f6'>Suisse</option> 
    </select>
     
     
     
    <select name="ville">
    <option value=''>--------------------</option>
    </select>
    </form> 
     
    </body>
    </html>

    Ceci ne fonctionne pas :

    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
    <html>
    <head>
    <script language="JavaScript"> 
    var 5eArray =  new Array("('Région parisienne','Région parisienne',true,true)","('------------')","('Aix en Provence','Aix en Provence')","('Ajaccio','Ajaccio')","('Amiens','Amiens')","('Angers','Angers')","('Angoulême','Angoulême')","('Annecy','Annecy')","('Avignon','Avignon')","('Besançon','Besançon')","('Biarritz','Biarritz')","('Bordeaux','Bordeaux')","('Brest','Brest')","('Caen','Caen')","('Cannes','Cannes')","('Chartres','Chartres')","('Clermont-Ferrand','Clermont-Ferrand')","('Dijon','Dijon')","('Grenoble','Grenoble')","('La Rochelle','La Rochelle')","('Le Havre','Le Havre')","('Le Mans','Le Mans')","('Lille','Lille')","('Limoges','Limoges')","('Lyon','Lyon')","('Marseille','Marseille')","('Metz','Metz')","('Montpellier','Montpellier')","('Mulhouse','Mulhouse')","('Nancy','Nancy')","('Nantes','Nantes')","('Nice','Nice')","('Nîmes','Nîmes')","('Orléans','Orléans')","('Paris','Paris')","('Pau','Pau')","('Perpignan','Perpignan')","('Poitiers','Poitiers')","('Reims','Reims')","('Rennes','Rennes')","('Rouen','Rouen')","('Strasbourg','Strasbourg')","('Toulon','Toulon')","('Toulouse','Toulouse')","('Tours','Tours')");
    var 3cArray =  new Array("('Antwerpen','Antwerpen')","('Bruxelles','Bruxelles',true,true)","('Charleroi','Charleroi')","('Courtrai','Courtrai')","('Gent','Gent')","('Hasselt','Hasselt')","('Liège','Liège')","('Leuven','Leuven')","('Louvain-la-Neuve','Louvain-la-Neuve')","('Mons','Mons')","('Namur','Namur')","('Tournai','Tournai')");
    var 6fArray =  new Array("('Bâle','Bâle')","('Berne','Berne')","('Genève','Genève',true,true)","('Interlaken','Interlaken')","('Lausanne','Lausanne')","('Lucerne','Lucerne')","('Neufchâtel','Neufchâtel')","('Zürich','Zürich')");
    var 4dArray =  new Array("('Calgary','Calgary')","('Montréal','Montréal',true,true)","('Ottawa','Ottawa')","('Toronto','Toronto')","('Québec','Québec')","('Vancouver','Vancouver')");
    var 2bArray =  new Array("('Birmingham','Birmingham')","('Brighton','Brighton')","('Glasgow','Glasgow')","('Leeds','Leeds')","('Liverpool','Liverpool')","('London','London',true,true)","('Manchester','Manchester')","('Oxford','Oxford')");
    var 1aArray =  new Array("('Berlin','Berlin',true,true)","('Bonn','Bonn')","('Bremen','Bremen')","('Düsseldorf','Düsseldorf')","('Hamburg','Hamburg')","('Heidelberg','Heidelberg')","('Iena','Iena')","('Leipzig','Leipzig')","('Munchen','Munchen')","('Nuremberg','Nuremberg')","('Stuttgart','Stuttgart')");
     
    function populateVille (inForm,selected){
    	var selectedArray = eval(selected + "Array");
    	while (selectedArray.length < inForm.ville.options.length) inForm.ville.options[(inForm.ville.options.length - 1)] = null;
    	for (var i=0; i < selectedArray.length; i++) eval("inForm.ville.options[i]=" + "new Option" + selectedArray[i]);
    	if (inForm.pays.options[0].value == ''){
    		inForm.pays.options[0]= null;
    		if ( navigator.appName == 'Netscape'){
    			if (parseInt(navigator.appVersion) < 4){
    				window.history.go(0);
    			} else {
    				if (navigator.platform == 'Win32' || navigator.platform == 'Win16'){
    					window.history.go(0);
    				}
    			}
    		}
    	}
    }
    </script>
    </head>
    <body>
    <form method="post" action="3" name="europe"> 
     
    <select name="pays" onChange="populateVille(document.europe,document.europe.pays.options[document.europe.pays.selectedIndex].value)">
    <option value='1a'>Allemagne</option>
    <option value='2b'>Angleterre</option>
    <option value='3c'>Belgique</option>
    <option value='4d'>Canada</option>
    <option value='5e' selected>France</option>
    <option value='6f'>Suisse</option> 
    </select>
     
     
     
    <select name="ville">
    <option value=''>--------------------</option>
    </select>
    </form> 
     
    </body>
    </html>

    J'en conclue que dès qu'une variable commence par un chiffre le script ne marche pas , comment y remedier à cela j'ai essayer de mettre le chiffre dans une accolade mais rien n'y change .

  7. #7
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut


    et parmi toutes les propositions comparées que tu montres, as-tu essayé la mienne? (je ne la vois pas)

    Mais aurais-je omis une remarque simple? Par exemple, renommer tes tableaux en fonction de la concaténation "Array" + selected...

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Oups pardon j'avais juste remplacé "Array" + selected sans modifier le reste, effectivement cette version marche impeccable, je ne te remercierai jamais assez .

    Alors ce code fonctionne très bien, je met le code si ça peut aider d'autre:

    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
     
    <html>
    <head>
    <script language="JavaScript"> 
    var Array5 =  new Array("('Région parisienne','Région parisienne',true,true)","('------------')","('Aix en Provence','Aix en Provence')","('Ajaccio','Ajaccio')","('Amiens','Amiens')","('Angers','Angers')","('Angoulême','Angoulême')","('Annecy','Annecy')","('Avignon','Avignon')","('Besançon','Besançon')","('Biarritz','Biarritz')","('Bordeaux','Bordeaux')","('Brest','Brest')","('Caen','Caen')","('Cannes','Cannes')","('Chartres','Chartres')","('Clermont-Ferrand','Clermont-Ferrand')","('Dijon','Dijon')","('Grenoble','Grenoble')","('La Rochelle','La Rochelle')","('Le Havre','Le Havre')","('Le Mans','Le Mans')","('Lille','Lille')","('Limoges','Limoges')","('Lyon','Lyon')","('Marseille','Marseille')","('Metz','Metz')","('Montpellier','Montpellier')","('Mulhouse','Mulhouse')","('Nancy','Nancy')","('Nantes','Nantes')","('Nice','Nice')","('Nîmes','Nîmes')","('Orléans','Orléans')","('Paris','Paris')","('Pau','Pau')","('Perpignan','Perpignan')","('Poitiers','Poitiers')","('Reims','Reims')","('Rennes','Rennes')","('Rouen','Rouen')","('Strasbourg','Strasbourg')","('Toulon','Toulon')","('Toulouse','Toulouse')","('Tours','Tours')");
    var Array3 =  new Array("('Antwerpen','Antwerpen')","('Bruxelles','Bruxelles',true,true)","('Charleroi','Charleroi')","('Courtrai','Courtrai')","('Gent','Gent')","('Hasselt','Hasselt')","('Liège','Liège')","('Leuven','Leuven')","('Louvain-la-Neuve','Louvain-la-Neuve')","('Mons','Mons')","('Namur','Namur')","('Tournai','Tournai')");
    var Array6 =  new Array("('Bâle','Bâle')","('Berne','Berne')","('Genève','Genève',true,true)","('Interlaken','Interlaken')","('Lausanne','Lausanne')","('Lucerne','Lucerne')","('Neufchâtel','Neufchâtel')","('Zürich','Zürich')");
    var Array4 =  new Array("('Calgary','Calgary')","('Montréal','Montréal',true,true)","('Ottawa','Ottawa')","('Toronto','Toronto')","('Québec','Québec')","('Vancouver','Vancouver')");
    var Array2 =  new Array("('Birmingham','Birmingham')","('Brighton','Brighton')","('Glasgow','Glasgow')","('Leeds','Leeds')","('Liverpool','Liverpool')","('London','London',true,true)","('Manchester','Manchester')","('Oxford','Oxford')");
    var Array1 =  new Array("('Berlin','Berlin',true,true)","('Bonn','Bonn')","('Bremen','Bremen')","('Düsseldorf','Düsseldorf')","('Hamburg','Hamburg')","('Heidelberg','Heidelberg')","('Iena','Iena')","('Leipzig','Leipzig')","('Munchen','Munchen')","('Nuremberg','Nuremberg')","('Stuttgart','Stuttgart')");
     
    function populateVille (inForm,selected){
    	var selectedArray = eval("Array" + selected);
    	while (selectedArray.length < inForm.ville.options.length) inForm.ville.options[(inForm.ville.options.length - 1)] = null;
    	for (var i=0; i < selectedArray.length; i++) eval("inForm.ville.options[i]=" + "new Option" + selectedArray[i]);
    	if (inForm.pays.options[0].value == ''){
    		inForm.pays.options[0]= null;
    		if ( navigator.appName == 'Netscape'){
    			if (parseInt(navigator.appVersion) < 4){
    				window.history.go(0);
    			} else {
    				if (navigator.platform == 'Win32' || navigator.platform == 'Win16'){
    					window.history.go(0);
    				}
    			}
    		}
    	}
    }
    </script>
    </head>
    <body>
    <form method="post" action="3" name="europe"> 
     
    <select name="pays" onChange="populateVille(document.europe,document.europe.pays.options[document.europe.pays.selectedIndex].value)">
    <option value='1'>Allemagne</option>
    <option value='2'>Angleterre</option>
    <option value='3'>Belgique</option>
    <option value='4'>Canada</option>
    <option value='5' selected>France</option>
    <option value='6'>Suisse</option> 
    </select>
     
     
     
    <select name="ville">
    <option value=''>--------------------</option>
    </select>
    </form> 
     
    </body>
    </html>

  9. #9
    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 : 54
    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
    Eval is evil !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var selectedArray = window["Array" + selected];

  10. #10
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Eval is evil !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var selectedArray = window["Array" + selected];

    perhaps but quand on remplace eval par window ça ne fontionne pas

  11. #11
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Aucun souci...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript">
    array1=new Array(1,2,3,4,5,6);
    array2=new Array('A','B','D','C','E','F');
     
    alert(window['array'+1][2])
    alert(window['array'+2][5])
    </script>
    au lieu de dire que cela ne fonctionne pas... montre nous comment tu as essayé de l'implémenter ?

    le plus simple serait encore de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript">
    array=new Array()
    array[1]=new Array(1,2,3,4,5,6);
    array[2]=new Array('A','B','D','C','E','F');
     
    alert(array[1][2])
    alert(array[2][5])</script>

  12. #12
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    j'avoue que le javascript n'est pas mon point fort, je suis plus orienté serveur que client

    Un autre blém se pointe à moi, restant toujours sur ce code qui marche :

    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
     
    <html>
    <head>
    <script language="JavaScript"> 
    var Array5 =  new Array("('Région parisienne','Région parisienne',true,true)","('------------')","('Aix en Provence','Aix en Provence')","('Ajaccio','Ajaccio')","('Amiens','Amiens')","('Angers','Angers')","('Angoulême','Angoulême')","('Annecy','Annecy')","('Avignon','Avignon')","('Besançon','Besançon')","('Biarritz','Biarritz')","('Bordeaux','Bordeaux')","('Brest','Brest')","('Caen','Caen')","('Cannes','Cannes')","('Chartres','Chartres')","('Clermont-Ferrand','Clermont-Ferrand')","('Dijon','Dijon')","('Grenoble','Grenoble')","('La Rochelle','La Rochelle')","('Le Havre','Le Havre')","('Le Mans','Le Mans')","('Lille','Lille')","('Limoges','Limoges')","('Lyon','Lyon')","('Marseille','Marseille')","('Metz','Metz')","('Montpellier','Montpellier')","('Mulhouse','Mulhouse')","('Nancy','Nancy')","('Nantes','Nantes')","('Nice','Nice')","('Nîmes','Nîmes')","('Orléans','Orléans')","('Paris','Paris')","('Pau','Pau')","('Perpignan','Perpignan')","('Poitiers','Poitiers')","('Reims','Reims')","('Rennes','Rennes')","('Rouen','Rouen')","('Strasbourg','Strasbourg')","('Toulon','Toulon')","('Toulouse','Toulouse')","('Tours','Tours')");
    var Array3 =  new Array("('Antwerpen','Antwerpen')","('Bruxelles','Bruxelles',true,true)","('Charleroi','Charleroi')","('Courtrai','Courtrai')","('Gent','Gent')","('Hasselt','Hasselt')","('Liège','Liège')","('Leuven','Leuven')","('Louvain-la-Neuve','Louvain-la-Neuve')","('Mons','Mons')","('Namur','Namur')","('Tournai','Tournai')");
    var Array6 =  new Array("('Bâle','Bâle')","('Berne','Berne')","('Genève','Genève',true,true)","('Interlaken','Interlaken')","('Lausanne','Lausanne')","('Lucerne','Lucerne')","('Neufchâtel','Neufchâtel')","('Zürich','Zürich')");
    var Array4 =  new Array("('Calgary','Calgary')","('Montréal','Montréal',true,true)","('Ottawa','Ottawa')","('Toronto','Toronto')","('Québec','Québec')","('Vancouver','Vancouver')");
    var Array2 =  new Array("('Birmingham','Birmingham')","('Brighton','Brighton')","('Glasgow','Glasgow')","('Leeds','Leeds')","('Liverpool','Liverpool')","('London','London',true,true)","('Manchester','Manchester')","('Oxford','Oxford')");
    var Array1 =  new Array("('Berlin','Berlin',true,true)","('Bonn','Bonn')","('Bremen','Bremen')","('Düsseldorf','Düsseldorf')","('Hamburg','Hamburg')","('Heidelberg','Heidelberg')","('Iena','Iena')","('Leipzig','Leipzig')","('Munchen','Munchen')","('Nuremberg','Nuremberg')","('Stuttgart','Stuttgart')");
     
    function populateVille (inForm,selected){
    	var selectedArray = eval("Array" + selected);
    	while (selectedArray.length < inForm.ville.options.length) inForm.ville.options[(inForm.ville.options.length - 1)] = null;
    	for (var i=0; i < selectedArray.length; i++) eval("inForm.ville.options[i]=" + "new Option" + selectedArray[i]);
    	if (inForm.pays.options[0].value == ''){
    		inForm.pays.options[0]= null;
    		if ( navigator.appName == 'Netscape'){
    			if (parseInt(navigator.appVersion) < 4){
    				window.history.go(0);
    			} else {
    				if (navigator.platform == 'Win32' || navigator.platform == 'Win16'){
    					window.history.go(0);
    				}
    			}
    		}
    	}
    }
    </script>
    </head>
    <body>
    <form method="post" action="3" name="europe"> 
     
    <select name="pays" onChange="populateVille(document.europe,document.europe.pays.options[document.europe.pays.selectedIndex].value)">
    <option value='1'>Allemagne</option>
    <option value='2'>Angleterre</option>
    <option value='3'>Belgique</option>
    <option value='4'>Canada</option>
    <option value='5' selected>France</option>
    <option value='6'>Suisse</option> 
    </select>
     
     
     
    <select name="ville">
    <option value=''>--------------------</option>
    </select>
    </form> 
     
    </body>
    </html>
    En ajoutant un bouton submit, si le formulaire n'est pas correctement remplie, affichage d'un message d'erreur en php et reaffichage des champs deja remplies. Donc le pays deja selectionné c'est bon revient sur le champs deja selectionné en revanche la liste ville ne s'affiche pas ==> toujours je pense à cause de la variable qui commence par un chiffre .

    Le code en JS ajouté pour que ça prenne en compte la ville selectionnée est :

    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
    <script language="JavaScript">
    <!--//
    	
    function pilotSelect(field,val){
    	for (i=0;i<field.options.length;i++){
    		if (field.options[i].value==val) field.selectedIndex = i;
    	}
    }
    
    function initForm(){
    	
    	pilotSelect(document.europe.pays,'Variable_dupays');
    	populateVille(document.europe,document.europe.pays.options[document.europe.pays.selectedIndex].value,'Variable_dupays');
    	pilotSelect(document.europe.ville,'Variable_deville');
    }
    
    //-->
    En ajoutant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="initForm();">
    Si Variable_dupays commence par un chiffre
    et
    Variable_eville commence par un chiffre
    Cela ne marche pas, en revanche si les variables Variable_dupays et Variable_eville commencent par une lettre, ça marche . Comment contourner le faite que la variable commence par un chiffre . Excusez ma repetition, je suis epuisé cervicalement parlant .

  13. #13
    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 : 54
    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 cmoi70 Voir le message
    Comment contourner le faite que la variable commence par un chiffre .
    Ben comme dans le cas précédent, en mettant le chiffre à la fin, pas au début

  14. #14
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    OUPS je viens de refaire des tests et il s'avère que ça marche, je vais voir ce qui cloche dans mon code. Désolé d'avoir user de votre patience .

    a+

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/02/2014, 14h37
  2. Réponses: 3
    Dernier message: 06/01/2012, 14h37
  3. Creation d'array contenant valeur numeric
    Par pokypoky101 dans le forum Langage
    Réponses: 4
    Dernier message: 23/10/2010, 15h37
  4. création Numeric.array et d'une liste de liste
    Par leila95 dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 19/05/2010, 22h32
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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