Probleme de combobox, je debute et mon projet est assez urgent [Résolu]

Signaler
Messages postés
6
Date d'inscription
mercredi 27 décembre 2000
Statut
Membre
Dernière intervention
21 novembre 2008
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour,

Mon patron a décider de créer un site internet pour l'entreprise, je dois le faire sous Kompozer, jusque là je me suis débrouillée.

Sauf que là j'ai un problème avec 2 listes dépendantes

je vous mets le code

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <script language="Javascript" type="text/javascript">
function choix(formulaire)
{
var j;
var i = formulaire.boite1.selectedIndex;
if (i == 0)
for(j = 1; j<3; j++)
formulaire.boite2.options[j].text="";
else{
switch (i){
case 1 : var text = new Array("alfa 147","barchetta","alfa 159");
break;
case 2 : var text = new Array("A3","A4","A5","A6","RS6","A8","R8");
break;
case 3 : var text = new Array("Clio","Twingo","laguna");
break;
}
for(j = 0; j<3; j++)
formulaire.boite2.options[j+1].text=text[j];
}
formulaire.boite2.selectedIndex=0;
}
  </script>
  <title>essai</title>
</head>

<form name="formulaire">
  <select name="boite1" onchange="choix(this.form)">
  <option selected="selected">marque</option>
  <option>alfa</option>
  <option>audi</option>
  <option>renaut</option>
  </select>
  <select name="boite2">
  <option selected="selected">modele</option>
  <option></option>
  <option></option>
  <option></option>
  </select>
</form>

</html>

MON PROBLEME : dans la catégorie AUDI j'ai 7 modèles  OR quand je regarde ma page en html et bien il y a seulement 3 catégories qui s'affichent.

je ne comprends pas d'où vient l'erreur

je n'ai aucune formation pour ça, j'essaie de lire les tuto mais là je bloque et mon patron s'enerve.

Je vous remercie par avance de votre aide

stéphanie

12 réponses

Messages postés
626
Date d'inscription
samedi 28 septembre 2002
Statut
Membre
Dernière intervention
18 mai 2009
3
Normal :

for(j = 0; j<3; j++)
formulaire.boite2.options[j+1].text=text[j];
}

Se serait plutôt un truc dans le genre :

for(j = 0; j<text.length; j++)
formulaire.boite2.options[j+1].text=text[j];
}
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
bonjour,

>>mon patron s'enerve.
dis lui donc de le faire lui-même !  ;o))
ch'tiot exemple ici

Cordialement

          [mon Site] [M'écrire]  Bul         
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
et pour "corriger" ton script :
...
formulaire.boite2.length=0;
for(j = 0; j<text.length; j++)
{    formulaire.boite2.length++;
    formulaire.boite2.options[j].text=text[j];
}

par exemple, mais peut mieux faire...
@+
Messages postés
626
Date d'inscription
samedi 28 septembre 2002
Statut
Membre
Dernière intervention
18 mai 2009
3
Suis long à la détente ce soir Oo!
Messages postés
6
Date d'inscription
mercredi 27 décembre 2000
Statut
Membre
Dernière intervention
21 novembre 2008

merci beaucoup malheureusement je dois faire un truc qui faut pas car ca ne marche pas :-(

j'ai appliqué ta correction mais ca ne fonctionnait pas

alors j'ai essayé de suivre la logique et de l'appliqué en haut

mon initiative était pire lol
Messages postés
6
Date d'inscription
mercredi 27 décembre 2000
Statut
Membre
Dernière intervention
21 novembre 2008

j'ai essayé egalement ton code Xtrem Duke, ça ne marche pas non plus

:-(
Messages postés
6
Date d'inscription
mercredi 27 décembre 2000
Statut
Membre
Dernière intervention
21 novembre 2008

du coup mon code donne ça :

s'il vous plait pouvez vous me dire ce que je fais de travers ? je suis sous Mac

merci d'avance ;-)

<head><title>essai</title></head><form name="formulaire"><select name="boite1" onchange="choix(this.form)"><option selected="selected">marque</option><option>alfa</option><option>audi</option><option>renaut</option></select><select name="boite2"><option selected="selected">modele</option><option></option><option></option><option></option></select></form>
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
et bien je t'assure
1° que les lignes que je t'ai mises fonctionnent.
    ce qu'a mis XTRemDuke aussi probablement , même s'il a du
    oublié la remise à 0 des lignes du select
2° que le lien fourni donne lui aussi un exemple qui fonctionne.

remet nous donc ton script tel qu'il est actuellement
( avec un copié/collé depuis un éditeur ou en ayant cliqué au préalable sur
[../infomsg.aspx?ajout=&ID=1231576&txtmode=0 Si vous n'arrivez pas à saisir votre message, CLIQUEZ ICI pour revenir à une "TextBox classique"]
 sous le bouton "Ajouter" )

          [mon Site] [M'écrire]  Bul         
Messages postés
6
Date d'inscription
mercredi 27 décembre 2000
Statut
Membre
Dernière intervention
21 novembre 2008

désolée   je dois être un peu boulet

MERCI BEAUCOUP DE M'AIDER c'est super gentil !!!!!

quand ton patron gueule et met la pression c'est pas évident à la base je suis secrétaire comptable

voilà ce que ca donne

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
  <script language="Javascript" type="text/javascript">
function choix(formulaire)
{
var j;
var i = formulaire.boite1.length=0;;
if (i == 0)
for(for(j = 1; j<text.length; j++))
formulaire.boite2.options[j].text="";
else{
switch (i){
case 1 : var text = new Array("alfa 147","barchetta","alfa 159");
break;
case 2 : var text = new Array("A3","A4","A5","A6","RS6","A8","R8");
break;
case 3 : var text = new Array("Clio","Twingo","laguna");
break;
}
formulaire.boite2.length=0;for(j = 0; j<text.length; j++)
{ formulaire.boite2.length++;
formulaire.boite2.options[j].text=text[j];
}
  </script>
  <title>essai</title>
</head>

<form name="formulaire">
  <select name="boite1" onchange="choix(this.form)">
  <option selected="selected">marque</option>
  <option>alfa</option>
  <option>audi</option>
  <option>renaut</option>
  </select>
  <select name="boite2">
  <option selected="selected">modele</option>
  <option></option>
  <option></option>
  <option></option>
  </select>
</form>

</html>

peut être que j'aurais pas du essayer d'adapter en haut ?

merci encore

en fait l'exemple me fais utiliser un autre code et je préférerais si c'etait possible garder celui que j'ai commencer avec ta correction.

bonne journée
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
il restait quelques imprécisions.

>>quand ton patron gueule et met la pression c'est pas évident
>>à la base je suis secrétaire comptable
j'ai déjà dit : s'il est si fort que cela ( puisque lorsqu'on se permet
  d'émettre un jugement c'est qu'on sait faire le boulot !!! ), dis lui de
  le faire lui-même, ou de faire appel à une société qui saura faire,
  ou de te payer une formation...
  on ne doit pas tolérer d'être malmené au boulot. sinon c'est la porte
  ouverte à tous les abus, gare à la dépression...

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html lang="fr">

<head>

  <script type="text/javascript">

    function choix(formulaire)

    {   var j;

        var i = formulaire.boite1.selectedIndex;
        var text;

        switch (i)

        {   case 1 : text = new Array("alfa 147","barchetta","alfa 159");

                     break;

            case 2 : text = new Array("A3","A4","A5","A6","RS6","A8","R8");

                     break;

            case 3 : text = new Array("Clio","Twingo","laguna");

                     break;

        }

        formulaire.boite2.length=text.length;

        for(j = 0; j<text.length; j++)

        {     formulaire.boite2.options[j].text=text[j];    }
    }

    </script>

    <title>essai</title>

</head>

<form name="formulaire">

  <select name="boite1" onchange="choix(this.form)">

  <option selected="selected">marque</option>

  <option>alfa</option>

  <option>audi</option>

  <option>renaut</option>

  </select>

  <select name="boite2">

  <option selected="selected">modele</option>

  <option></option>

  <option></option>

  <option></option>

  </select>

</form>

</html>

     [mon Site] [M'écrire]  Bul    
Messages postés
6
Date d'inscription
mercredi 27 décembre 2000
Statut
Membre
Dernière intervention
21 novembre 2008

MERCI BEAUCOUP !!!!!!!!!  ça fonctionne !!!!!!!!

si je peux t'aider à mon tour n'hésites pas  (pas en javascript en tout cas lol)

j'ai des compétences en logiciel classiques (word, excel power point) mais aussi sur Quark Xpress et en comptabilité

si t'as besoin d'un service n'hésites pas

Merci

je suis trop heureuse là 
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
remet ton patron à sa place... c'est ce qui me fera le plus plaisir ;o)
nickel si ça baigne, tu n'étais pas très loin, et avec un peu de temps,
         un peu moins de stress... je pense que tu y serais parvenu.

[mon Site] [M'écrire]   Bul

si le travail c'est tellement bien,
pourquoi on te paye pour le faire ?