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 :

[debutant]modifier une liste deroulante


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Points : 13
    Points
    13
    Par défaut [debutant]modifier une liste deroulante
    Bonjour a tous
    je vous ecris car j'ai un probleme pour modifier le contenue d'une liste deroulante et j'ai pas trouve dans le forum de reponse qui resoudrai mon probleme.

    En plus je mélange du php ce qui ne facilite pas les choses mais mon probleme est en javascript et je suis novice (j'ai commence il y a deux semaines ce qui explique que je n'ai pas compris tous les codes du forum ^^)

    je vous envoie mon code au complet afin que vous puissiez m'aider. sinon :
    <body>

    <script type="text/javascript" language="javascript">

    function test(){
    for(var j=0; j<ville[document.forms['formdest'].elements['payschoisi'].selectedIndex].length; j++){
    document.forms['formdest'].elements['villechoisi'].options[j].value = ville[document.forms['formdest'].elements['payschoisi'].selectedIndex][j];
    }
    }

    </script>

    <form name="formdest" method="post">
    <table width="70%" border="0" cellspacing="0" cellpadding="2"">
    <tr>
    <td bgcolor="#000000">
    <font color="WHITE"><b>Destination</b></font>
    </td>
    </tr>

    <tr>
    <td bgcolor="#99FFFF">
    Selectionner un pays
    </td>
    </tr>

    <tr>
    <td bgcolor="#99FFFF">
    <script type="text/javascript" language="javascript">

    document.writeln('<select name="payschoisi" style="width:300px" onChange="test();">');
    for(var i=0; i<<?php echo count($tab);?>; i++){
    document.writeln("<option value='"+pays[i]+"'>"+pays[i]+"</option>");
    }
    document.writeln("</select>")
    </script>
    </td>
    </tr>

    <tr>
    <td bgcolor="#99FFFF">
    Selectionner une ville
    </td>
    </tr>

    <tr>
    <td bgcolor="#99FFFF">
    <script type="text/javascript" language="javascript">
    document.writeln('<select name="villechoisi" method="post" style="width:300px" size=6>');
    for(var i=0; i<ville[0].length; i++){
    document.writeln("<option value='"+ville[0][i]+"'>"+ville[0][i]+"</option>");
    }
    document.writeln('</select>');
    </script>

    </td>
    </tr>
    </form>

    <form name="formdestenv" method="post" action="file1.html">
    <tr>
    <td align="right" bgcolor="#66CCFF">
    <input type="submit" onclick="twFermer()" value="valider ->">
    </td>
    </tr>
    </form>

    </table>
    </body>
    Mon probleme est quand je selectionne un pays dans une premiere liste deroulante normalement ma deuxieme liste deroulantes devrait afficher les villes correspondantes, donc au depart tout marche le programme affiche les villes du pays selectionne par defaut de la premiere liste mais quand je change bah la j'ai une "Erreur sur la page".

    J'aimerai comprendre pourquoi ca marche pas et comment je dois faire pour que ca marche svp

    merci pour votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Points : 13
    Points
    13
    Par défaut reponse
    Bonjour bon bah en fin de compte j'ai trouve.
    mon erreur etait bien dans la fonction test.

    voila la nouvelle version de cette fonction

    <script type="text/javascript" language="javascript">

    function test(){
    for(var j=0; j< ville[document.forms['formdest'].elements['payschoisi'].selectedIndex].length; j++){
    if(j < document.forms['formdest'].elements['villechoisi'].length){
    if(document.forms['formdest'].elements['villechoisi'].options[j].text != null){
    if(ville[document.forms['formdest'].elements['payschoisi'].selectedIndex][j]!= null){
    document.forms['formdest'].elements['villechoisi'].options[j].text = ville[document.forms['formdest'].elements['payschoisi'].selectedIndex][j];
    document.forms['formdest'].elements['villechoisi'].options[j].value = ville[document.forms['formdest'].elements['payschoisi'].selectedIndex][j];
    }
    }
    }
    else{
    nouvel_option = new Option(ville[document.forms['formdest'].elements['payschoisi'].selectedIndex][j],ville[document.forms['formdest'].elements['payschoisi'].selectedIndex][j],false,false);
    document.forms['formdest'].elements['villechoisi'].options[j] = nouvel_option;
    }
    }
    if(ville[document.forms['formdest'].elements['payschoisi'].selectedIndex].length < document.forms['formdest'].elements['villechoisi'].length){
    for(var i = ville[document.forms['formdest'].elements['payschoisi'].selectedIndex].length; i<document.forms['formdest'].elements['villechoisi'].length;i++){
    document.forms['formdest'].elements['villechoisi'].options[i] = null;
    }
    }
    }

    </script>

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

Discussions similaires

  1. [DEBUTANT]ne pas pouvoir cliquer sur certains champs d'une liste deroulante
    Par eclipse012 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 26
    Dernier message: 03/10/2006, 16h44
  2. Réponses: 4
    Dernier message: 07/08/2006, 16h19
  3. [Debutant]creer une requete pour une liste deroulante
    Par torNAdE dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/07/2006, 15h22
  4. [debutant]Modifier une liste passer en parametres
    Par chpog dans le forum Langage
    Réponses: 3
    Dernier message: 03/01/2006, 11h57
  5. modifier une liste deroulante
    Par navona dans le forum IHM
    Réponses: 2
    Dernier message: 30/11/2005, 00h01

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