begin process at 2012 05 29 15:33:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Problème de compatibilité

 > 

Petit bug dans double liste Grand souci !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Petit bug dans double liste Grand souci !

mercredi 22 octobre 2008 à 16:03:32 | Petit bug dans double liste Grand souci !

mike1103

Bonjour à tous !
Je suis retraité et je travaille depuis plusieurs mois sur un gros projet.
En bon autodidacte, j'apprends, jour après jour, les astuces d'internet.
En ce moment, je coince car j'ai eu la chance de trouver un script d'une liste déroulante "modulée" qui correspondait à  mes attentes.
Malheureusement, quand j'en mets deux sur la même page, il y en a une qui coince.
J'ai fait tous les forums sans trouver la solution.
Mais je suis persuadé qu'un génie verra en 2 secondes, le bug !
D'avance, je vous remercie infiniment pour que vous daignerez m'apporter.
Pépé.

Voici le code, "source" de mes soucis Lol
______________________________________________________________________________

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
<title>Double liste</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
<!--
list_choix = {
//
"America" : ["Select", "North America", "Central America", "South America"],

"North America" : ["Select", "United States of America", "Canada", "AmericanSamoa", "VirginIslands(US)"],

"United States of America" : ["Select", "Alabama", "Alaska", "Arizona", "Arkansas", "California", "North Carolina", "South Carolina", "Colorado", "Connecticut", "North Dakota", "South Dakota", "Delaware", "District of Columbia", "Floride", "Géorgie", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiane", " Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New York", "Nouveau-Mexique", "Ohio", "Oklahoma", "Oregon", "Pennsylvanie", "Rhode Island", "Tennessee", "Texas", "Utah", "Vermont", "Virginie", "Virginie-Occidentale", "Washington", "Wisconsin", "Wyoming"],
"Canada" : ["Select", "Alberta", "Colombie-Britannique", "Île-du-Prince-Édouard" , "Ontario" , "Québec", "Manitoba", "Nouveau-Brunswick", "Nouvelle-Écosse", "Saskatchewan", "Terre-Neuve-et-Labrador", "Territoires du Nord-Ouest","Yukon"],

"Central America" : ["Select", "Antigua & Barbuda", "Bahamas", "Barbados", "Belize", "CostaRica", "Cuba", "Dominica", "ElSalvador", "Grenada", "Guatemala", "Haiti", "Honduras", "Jamaica", "Mexico", "Nicaragua", "Panama", "SaintKitts&Nevis", "SaintLucia", "SaintVincent", "Trinidad&Tobago"],

"South America" : ["Argentina", "Bolivia", "Brazil", "Chile", "Colombia", "Ecuador", "Guyana", "Paraguay", "Peru", "Suriname", "Uruguay", "Venezuela"],

//AFRICA
"Africa" : ["Select", "Algeria", "Angola", "Benin", "Botswana", "BurkinaFaso", "Burundi", "Cameroon", "CapeVerde", "CentralAR", "Chad", "Comoros", "Congo", "Djibouti", "Egypt", "EquatorialGuinea", "Eritrea", "Ethiopia", "Gabon", "Gambia", "Ghana", "Guinea", "Guinea-Bissau", "IvoryCoast", "Kenya", "Lesotho", "Liberia", "Libyan", "Madagascar", "Malawi", "Mali", "Mauritania", "Mauritius", "Morocco", "Mozambique", "Namibia", "Niger", "Nigeria", "Rwanda", "SaoTome&Principe", "Senegal", "Seychelles", "SierraLeone", "Somalia", "SouthAfrica", "Sudan", "Swaziland", "Tanzania", "Togo", "Tunisia", "Uganda", "Zaire", "Zambia", "Zimbabwe"],

//ASIA
"Asia" : ["Select", "Middle East", "South Asia"],

"Middle East" :["Afghanistan", "Bahrain", "Cyprus", "Iran", "Iraq", "Israel", "Jordan", "Kuwait", "Lebanon", "Oman", "Qatar", "SaudiArabia", "Syria", "Turkey", "UnitedArabEmirates", "Yemen"],

"South Asia" : ["Select", "Bangladesh", "Bhutan", "BruneiDarussalam", "Cambodia", "China", "HongKong", "India", "Indonesia", "Japan", "Korea", "Laos", "Malaysia", "Maldives", "Mongolia", "Myanmar", "Nepal", "Pakistan", "Philippines", "Singapore", "SriLanka", "Taiwan", "Thailand", "Vietnam"],

//EUROPE
"Europe" : ["Select", "Albania", "Andorra", "Armenia", "Austria", "Azerbaijan", "Belarus", "Belgium", "Bosnia&Herzegowina", "Bulgaria", "Croatia", "CzechRepublic", "Denmark", "Estonia", "Finland", "France", "Georgia", "Germany", "Greece", "Hungary", "Iceland", "Ireland", "Italy", "Kazakhstan", "Kyrgyzstan", "Latvia", "Liechtenstein", "Lithuania", "Luxembourg", "Macedonia", "Malta", "Moldova", "Monaco", "Netherlands", "Norway", "Poland", "Portugal", "Romania", "Russia", "SanMarino", "SerbiaandMontenegro", "Slovakia", "Slovenia", "Spain", "Sweden", "Switzerland", "Tajikistan", "Turkmenistan", "Ukraine", "UnitedKingdom", "Uzbekistan"],

//OCEANIA

"Oceania" : ["Select", "Australia", "Fiji", "Kiribati", "MarshallIslands", "Micronesia", "Nauru", "NewZealand", "Palau", "PapuaNewGuinea", "SolomonIslands", "Tonga", "Tuvalu", "Vanuatu"]
}

function ajout(selection){
nb_select = selection.parentNode.getElementsByTagName("select").length;
if ( selection == selection.parentNode.getElementsByTagName("select")[nb_select-1] ) {
element_select = selection;
selection = selection.options[selection.selectedIndex].value;
if ( list_choix[selection] ) {
new_liste = document.createElement("select");
element_select.parentNode.appendChild(new_liste);
new_liste.setAttribute("id", "choix"+nb_select);
new_liste.setAttribute("name", "choix"+nb_select);
new_liste.onchange= function () {ajout(this) };
for (var i=0; i<list_choix[selection].length; i++) {
new_option = document.createElement("option");
new_liste.appendChild(new_option);
new_option.setAttribute("value", list_choix[selection][i]);
new_option.text = list_choix[selection][i];
}
}
}
else {
selection.parentNode.removeChild(selection.nextSibling);
ajout(selection);
}
if (list_choix[new_liste.options[0].value]) {
ajout(new_liste)
}
}

function MM_CheckFlashVersion(reqVerStr,msg){
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){  
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
  
      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
      }
    }
  }
}
//-->
</script>

<script type="text/javascript">
<!--
list_choix = {

//ART//
"Art" : ["Select", "Movie", "Theater", "Television", "Song", "Painting", "Sculpture"],
"Movie" : ["Select", "Actress", "Actor", "Director", "Theater director", "Photographer"],
"Television" : ["Journalist", "Reporter", "Showman"],
"Song" : ["Select", "Singer", "Musician", "Group"],

//TECHNOLOGIES//
"Technologies" : ["Select", "Sciences", "IT Technologies", "Space Technologies"],
"Sciences" : ["Select", "Professor", "Scientist", "Researcher"],
"Space Technologies" : ["Select", "Professor", "Scientist", "Researcher"],
"Professor" : ["Select", "Professor 1", "Professor 2", "Professor 3"],
"Scientist" : ["Select", "Scientist 1", "Scientist 2", "Scientist 3"],
"Researcher": ["Select", "Researcher 1", "Researcher 2", "Researcher 3"],

//SPORTS//
"Sports" : ["Select", "Athletics", "Baseball","Baskettball", "Car Racing", "Cyclying", "Equestrian", "Fencing", "Football", "Handball", "Hockey", "Judo", "Rugby", "Scocer", "Swimming", "Tennis"],

//ATHLETICS//
"Athletics" : ["Select", "100 m", "200 m","5.000 m", "10.000 m", "Marathon"],

}

function ajout(selection){
nb_select = selection.parentNode.getElementsByTagName("select").length;
if ( selection == selection.parentNode.getElementsByTagName("select")[nb_select-1] ) {
element_select = selection;
selection = selection.options[selection.selectedIndex].value;
if ( list_choix[selection] ) {
new_liste = document.createElement("select");
element_select.parentNode.appendChild(new_liste);
new_liste.setAttribute("id", "choix"+nb_select);
new_liste.setAttribute("name", "choix"+nb_select);
new_liste.onchange= function () {ajout(this) };
for (var i=0; i<list_choix[selection].length; i++) {
new_option = document.createElement("option");
new_liste.appendChild(new_option);
new_option.setAttribute("value", list_choix[selection][i]);
new_option.text = list_choix[selection][i];
}
}
}
else {
selection.parentNode.removeChild(selection.nextSibling);
ajout(selection);
}
if (list_choix[new_liste.options[0].value]) {
ajout(new_liste)
}
}

function MM_CheckFlashVersion(reqVerStr,msg){
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){  
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
  
      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
      }
    }
  }
}
//---------------------------------->  CATEGORY  <------------------------------------//-->
</script>

<style type="text/css">

<!--
body {
background-color: #FFFFFF;
}
.style18 {font-size: 15px; color: #0000FF; padding: 3px; font-family: Arial, Helvetica, sans-serif;}

-->
</style></head>


<body onload="ajout(document.getElementById('choix0'))">

    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
      
      <tr>
        <td height="20" colspan="4" align="left" class="Silver"><p align="left" class="style18">Select your living place :
          </p>          <div align="left"><span class="Silver">
          
          
          
            <select name="choix0" id="choix0" onchange="ajout(this)">
              <option value="Select">Select</option>
              <option value="America">America</option>
              <option value="Africa">Africa</option>
              <option value="Asia">Asia</option>
              <option value="Europe">Europe</option>
              <option value="Oceania">Oceania</option>
              </select>
          </span></div>          
          <p><span class="style18">Select your cat&eacute;gory :: </span></p>          <div align="right"></div></td>
        </tr>
      
      <tr>
        <td width="45%">
        
        
        
        
        <select name="choix" id="choix" onchange="ajout(this)">
          <option value="Select">Select</option>
          <option value="Art">Art</option>
          <option value="Technologies">Technologies</option>
          <option value="Sports">Sports</option>
        </select></td>
        </tr>
      
    </table></td>

</body>
</html>
jeudi 23 octobre 2008 à 10:19:57 | Re : Petit bug dans double liste Grand souci !

bultez

Membre Club
bonjour,

>>Je suis retraité
heureux homme
>>et je travaille depuis plusieurs mois sur un gros projet.
t'as pas honte de piquer du boulot aux ch'tiots jeunes qui en cherchent désépérément ?

quand à ton  ton souci, mon foie :

<script type="text/javascript">
list_choix = { ....

dans les 2 script.
c'est une variable globale. la 2ème affectation détruit la 1ère
( et il y en a d'autres ! )

soit tu changes les noms des variables dans le 2ème script
et mieux (?) serait d'en faire une fonction qu'on appelle en passant
les paramètres nécessaires et en utilisant des variables locales.

Cordialement

          Bul [mon Site] [M'écrire]         

jeudi 23 octobre 2008 à 13:53:00 | Re : Petit bug dans double liste Grand souci !

mike1103

Salut Bul ! Grand merci pour ta réponse.
Rassures-toi, je ne pique le boulot à aucun jeune, d'aucune façon que ce soit. J'ai malheureusement perdu le mien suite à une erreur médicale et force est de constater que plus personne n'engage des plus de 50 ans.
Alors pour ne pas devenir inutile, je developpe depuis 18 mois un concept original destiné à une cause humanitaire ( aucun notion d'argent et de bénéfice à la cléf.)
Nonobstant, j'avais trouvé le script de cette liste générée idéal pour mon projet; mais malheureusement, ce script n'accepte pas la vie à deux !
Je ne suis pas à même de reformater le tout "en utilisant des variables locales); alors, dans le cadre la maquette de mon projet, je vais essayer de trouver une astuce pour combiner les 2 scripts sur deux frames différentes dans une frameset.
En cas d'intéret pour leprojet, je laisserai les progfessionnels IT mettrent au net mes esquisses.
Encore un grand merci d'avoir pris quelques minutes pour me répondre. Bon travail, beaucoup de succès et prends bien soin de toi !
Pépé

jeudi 23 octobre 2008 à 14:12:32 | Re : Petit bug dans double liste Grand souci !

bultez

Membre Club
>>je developpe depuis 18 mois un concept original destiné à une cause humanitaire
dieu me tripote... c'est encore pire !
ils ont les moyens de payer quelqu'un ! ( et grassement ;o)
>>plus personne n'engage des plus de 50 ans.
optimiste ?
>>pour combiner les 2 scripts sur deux frames différentes
bon développement, et amuse toi bien.
          Bul [mon Site] [M'écrire]         

jeudi 23 octobre 2008 à 14:23:03 | Re : Petit bug dans double liste Grand souci !

mike1103

Resalut Marcel !
Tu te fourvoyes : je ne travaille pas pour une ONG, je developpe un projet personnel "humanitaire". Aussi, j'assume tous à mes frais.
Mais ce n'est pas grave.
J'ai employé mon astuce (2 frames et un frameset: 30 sec.
Je n'aurais pas du déranger des pros pour ce soucis mais, comme cela ne doit pas être fonctionnel uniquement visuel, ca va.
Encore Merci ! Et quitte à te faire tripoter, laisse dieu en dehors decela !
LOL
pépé
jeudi 23 octobre 2008 à 14:37:42 | Re : Petit bug dans double liste Grand souci !

bultez

Membre Club
>>j'assume tous à mes frais.
ah c'est pas pareil alors...
>>laisse dieu en dehors de cela !
c'est lui qui me tripote ! j'ai rien demandé.
          Bul [mon Site] [M'écrire]         

jeudi 23 octobre 2008 à 14:40:07 | Re : Petit bug dans double liste Grand souci !

mike1103

Au revoir marcel !
Merci pour ton aide indirecte.
Pépé


Cette discussion est classée dans : flash, var, split, desc, descarr


Répondre à ce message

Sujets en rapport avec ce message

Petit bug dans double liste Grand souci ! [ par mike1103 ] Bonjour à tous ! Je suis retraité et je travaille depuis plusieurs mois sur un gros projet. En bon autodidacte, j'apprends, jour après jour, les astuc explorateur de fichiers [ par Sven666 ] Bon voilà une journée que je cherche sans succès...Je ne pose jamais de questions mais là j'avou etre perdu.Mon probleme est que je cherche a ouvrir u Ajouter une valeur a un champ via un script [ par choupette549 ] Bonjour,Voilà mon problème :J'ai une page HTML avec dans l'adresse une variable du genre http://monsite.com/mapage.htm?id=93Voulant récupérer la valeu Retourner valeur Fonction [ par piep14 ] Bonsoir, je souhaite récupérer deux valeurs d'une fonction. J'ai fait le code suite :Code :<pre class="alt2" styl Problème avec la méthode String.split() et les "\" [ par Kenshin07 ] Bonjour,je développe un module d'upload, et j'aimerais pouvoir récupérer le nom du fichier sélectionné afin de le mettre dans la value de mon TextBox. Probleme de tri [ par honginator ] Bonjour à tous, j'ai un souci au niveau du tri d'une chaine de caractère de ce type X.X.X. En effet je lui demande de trier des chaines de caractères Pb avec une fonction [ par isu_san ] Bonjour à tous, j'ai essayé de trouver une fonction javascript pour calculer la date du dernier dimanche d'un mois donné. j'ai bien trouvé quelque cho Problème avec XMLHttpRequest [ par fauve ] Bonjour,Je vous contacte car j'éprouve des difficultés à utiliser XMLHttpRequest...En faite j'essaie d'actualiser automatiquement un contenant seulem


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,810 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales