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 :

pb de rafraichir 2 select-onchange !


Sujet :

JavaScript

  1. #1
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut pb de rafraichir 2 select-onchange !
    bonjour
    j'ai 2 select :
    1 an , l'autre pour les mois
    je veux si l'an = an en cours , j'affiche juste les mois precedant 'exemple si 2006 , les mois affiché ds le select de janvier à mai)
    si l'an est < an courant, j'affichhe tous les mois !
    je plante !

    voilà mon code :
    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
    <tr>
    <td width='50%' ><center><font size=1><b> An :</b></font>&nbsp;
    <select name="an">
      
        <? // $year est l'an en coursds notre cas c 2006
        while ($year >= 1970)
        {
        echo ('<OPTION VALUE="'.$year.'" >'.$year.'</OPTION>');
        $year--;
       }
    
        ?>
    </select>
    </center>
    </TD>
    
    <td width="50%"><center>&nbsp;<font size=1><b>Mois :</b></font>&nbsp;
       <select name="mois" size="1">
     <? //$month ets le mois courant ds notre cas nous somme en mai
        if(
        while ($month >= 1 )
        {
        echo ('<OPTION VALUE="'.$month.'" >'.$libMois[$month].'</OPTION>');
        $month--;
       }
    ?>
       </select>
    </center>
    </td>
     </tr>
    
    oups! je ne sais pas si c clair
    comme ca , qqsoit l'an il m'affiche juste les mois de janvier--mai , je ne sais pas comment le modifier

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 51
    Points : 32
    Points
    32
    Par défaut
    Si tu écrivais + français ^^ je pense qu'on comprendrai mieux.
    Tu veux faire :
    Pour n'importe quelle année, afficher (dans le select) les mois déjà passés pour cette année.

    C'est ca ???

  3. #3
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    yes yes !
    oui c bien ca
    mais voilà t'as compris

  4. #4
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Donc c'est plus le select des mois qui te plante, celui des années foctionne correctement...
    Je regardais dans ton code pour le select des mois...tu as un if pas de condition avec un while dessous?

    Je me demandais c'était pour faire koi?

    Si c'était pour mettre la condition a voir si le mois devrait etre afficher je crois que ce devrais etre dans le while..Et tu fais afficher tes mois en commencant par décembre?
    comme ton compter décrémente alors tu dois partir de 12 et dessendre c'est le cas?

    TANT QUE (le mois est plus grand ou égale a 1){
    SI (l'année == l'année en cour) && (le mois est plus plus grand ou égale à celui en cour)
    ALORS{
    tu fais afficher ton écho avec l'indice du mois
    }
    décrémente ton compteur
    } fin de la boucle

    j'espere te mettre sur un voie, du moin si j,ai bien compris

  5. #5
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    merci pour la réponse ,
    mais je plante comment pouvoir avec une action sur le 1er select (de l'année ) pouvoir acceder et modifier le 2eme select (des mois)
    c là ou je plante !

  6. #6
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Moi je fais un submit de la page dans le onchange du select
    ensuite tu récupere ton url que tu as modifier du genre...

    ta page s'appelle...page.php
    tu submit sur le changement de ton premier select en passant par une fonction javascript que tu modifie l'action
    ainsi...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function selectChange(){
    //tu modifies l'action tu submit vers la meme page avec une variable get
     
    document.tapage.action = "page.php?annee=1";
    document.tapage.submit();
    }
    Donc quand ta page se recharge
    tu rempli ton 2e select avec ce qui a été posté
    tu valide le $_GET
    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
     
     //Tu fais ta requete et comme condition tu utilise ce qui a été posté 
     //du SELECT year...la valeur est celle que tu va avoir mise dans le
     // value...c'est ce qui est posté...donc a toi de voir..mets l'année
     //dans les value des options...<option value="1995">1995</option>
     //Avec une boucle c'est facile...
     
    //2e select
    <SELECT name="selectMonth">
      <option value="0" selected>choisir un mois<"option>
    if(isset($_GET['annee']) && $_GET['annee'] == 1){
    //ici tu rempli le select
    //avec ta requete en fonction du SelectYear
    //et la partie de code que je t'ai fournis dans l'autre post 
    }
    </option>
    Alors je crois que ca ce fait ainsi
    du moin moi je fais ca lorsque j'ai 2 select dont le 2e dépend du premier et j'ai besoin d'aller dans ma bd

  7. #7
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Moi je fais un submit de la page dans le onchange du select
    ensuite tu récupere ton url que tu as modifier du genre...

    ta page s'appelle...page.php
    tu submit sur le changement de ton premier select en passant par une fonction javascript que tu modifie l'action
    ainsi...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function selectChange(){
    //tu modifies l'action tu submit vers la meme page avec une variable get
     
    document.tapage.action = "page.php?annee=1";
    document.tapage.submit();
    }
    Donc quand ta page se recharge
    tu rempli ton 2e select avec ce qui a été posté
    tu valide le $_GET
    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
     
     //Tu fais ta requete et comme condition tu utilise ce qui a été posté 
     //du SELECT year...la valeur est celle que tu va avoir mise dans le
     // value...c'est ce qui est posté...donc a toi de voir..mets l'année
     //dans les value des options...<option value="1995">1995</option>
     //Avec une boucle c'est facile...
     
    //2e select
    <SELECT name="selectMonth">
      <option value="0" selected>choisir un mois<"option>
    if(isset($_GET['annee']) && $_GET['annee'] == 1){
    //ici tu rempli le select
    //avec ta requete en fonction du SelectYear
    //et la partie de code que je t'ai fournis dans l'autre post 
    }
    </option>
    Alors je crois que ca ce fait ainsi
    du moin moi je fais ca lorsque j'ai 2 select dont le 2e dépend du premier et j'ai besoin d'aller dans ma bd

  8. #8
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Moi je fais un submit de la page dans le onchange du select
    ensuite tu récupere ton url que tu as modifier du genre...

    ta page s'appelle...page.php
    tu submit sur le changement de ton premier select en passant par une fonction javascript que tu modifie l'action
    ainsi...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function selectChange(){
    //tu modifies l'action tu submit vers la meme page avec une variable get
     
    document.tapage.action = "page.php?annee=1";
    document.tapage.submit();
    }
    Donc quand ta page se recharge
    tu rempli ton 2e select avec ce qui a été posté
    tu valide le $_GET
    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
     
     //Tu fais ta requete et comme condition tu utilise ce qui a été posté 
     //du SELECT year...la valeur est celle que tu va avoir mise dans le
     // value...c'est ce qui est posté...donc a toi de voir..mets l'année
     //dans les value des options...<option value="1995">1995</option>
     //Avec une boucle c'est facile...
     
    //2e select
    <SELECT name="selectMonth">
      <option value="0" selected>choisir un mois<"option>
    if(isset($_GET['annee']) && $_GET['annee'] == 1){
    //ici tu rempli le select
    //avec ta requete en fonction du SelectYear
    //et la partie de code que je t'ai fournis dans l'autre post 
    }
    </option>
    Alors je crois que ca ce fait ainsi
    du moin moi je fais ca lorsque j'ai 2 select dont le 2e dépend du premier et j'ai besoin d'aller dans ma bd

  9. #9
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Oups dsl....
    j'ai eu un probleme lors de la soumission de la réponse...1 fois seulement aurait été bien
    dsl pour ca mais cé la meme réponse les 3 post...

    connexion internet chié

Discussions similaires

  1. Aide select onChange
    Par calitom dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/07/2009, 18h40
  2. probleme de html:select onchange
    Par solfegepro dans le forum Struts 1
    Réponses: 20
    Dernier message: 08/08/2007, 13h44
  3. select onChange => pb
    Par Alex35 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/02/2007, 14h43
  4. [ STRUTS ] <html:select onchange=...>
    Par Houbbba dans le forum Struts 1
    Réponses: 6
    Dernier message: 24/04/2006, 13h54

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