Probleme de combobox, je debute et mon projet est assez urgent

Résolu
cocktailxyz Messages postés 6 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 21 novembre 2008 - 20 nov. 2008 à 14:10
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 21 nov. 2008 à 10:25
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

XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
20 nov. 2008 à 17:01
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];
}
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 13
20 nov. 2008 à 16:43
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         
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 13
20 nov. 2008 à 16:52
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...
@+
0
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
20 nov. 2008 à 17:02
Suis long à la détente ce soir Oo!
0

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

Posez votre question
cocktailxyz Messages postés 6 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 21 novembre 2008
20 nov. 2008 à 19:23
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
0
cocktailxyz Messages postés 6 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 21 novembre 2008
20 nov. 2008 à 19:25
j'ai essayé egalement ton code Xtrem Duke, ça ne marche pas non plus

:-(
0
cocktailxyz Messages postés 6 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 21 novembre 2008
20 nov. 2008 à 19:28
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>
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 13
21 nov. 2008 à 07:07
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         
0
cocktailxyz Messages postés 6 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 21 novembre 2008
21 nov. 2008 à 09:29
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 13
21 nov. 2008 à 10:04
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    
0
cocktailxyz Messages postés 6 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 21 novembre 2008
21 nov. 2008 à 10:18
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à 
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 13
21 nov. 2008 à 10:25
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 ?
0