Que'est ce qui cloche avec ce switch??

Résolu
Ce switch est javascript il me semble tout a fait juste mais ceci n'empeche pas le fait qu'il ne marche pas...

else
{
switch(parseInt(dtj.getMonth())+1)
{
case (1): if(bissext(dtj))
{
dtj.setDate(29);
dtj.setMonth((dtj.getMonth())+1);
}
else
{
dtj.setDate(28);
dtj.setMonth((dtj.getMonth())+1);
}

i++;
break;

case (2) :
case (4) :
case (6) :
case (7) :
case (9) :
case (11): if (dtj.getDate()==30)
{
dtj.setDate(31);
dtj.setMonth((dtj.getMonth())+1);
}
else
{
if (dtj.getDate()==29)
dtj.setMonth((dtj.getMonth())+1);
}
i++;
break;

case (3) :
case (5) :
case (8) :
case (10) :
case (12) : if (dtj.getDate()==31)
{
dtj.setDate(30);
dtj.setMonth((dtj.getMonth())+1);
}
else
{
if ((dtj.getDate()==29)||(dtj.getDate()==30))
dtj.setMonth((dtj.getMonth())+1);
}

i++;
break;
default: alert("Erreur");

}//fin switch
Configuration: Windows Vista
Firefox 2.0.0.11

5 réponses

  1. Contributeur
    Salut,

    Tu dis qu'il ne marche pas. Ok. Mais qu'est-ce qui ne marche pas ? Explique-nous ce qui se passe. Message d'erreur ? ou autre.
    Ton code est sensé faire quoi ?

    Sinon, dans ton switch, il y a des else qui trainent qui me paraissent bizarre. Tu peux pas avoir un if et un break qui se chevauchent.

    Cordialement
    0
    1. Re-bonjour salmasyrine,

      Essayes d eposter ton code dans l'intégralité, et de détailler ça fonction STP.
      0
      1. Bonjour,

        C'est pas parce que tu n'as pas d'instruction dans les case (1): qu'il ne faut pas le break;
        Ensuite la syntaxe de case c'est:

        case "1" :


        Cherche sur le net , il y a des fonctions beaucoup plus simples pour trouver les mois 30/31 j et 28/29 février
        0
        1. Ok, je prends ton problème par msn, valide ce post en tant que résolu, ça évite aux autres membres de perdre leurs temps
          0
          1. Contributeur
            Salut Alain

            C'est pas parce que tu n'as pas d'instruction dans les case (1): qu'il ne faut pas le break;
            Un case ne se break par forcément. Ça dépend de ce que l'on souhaite faire. Ici, en l'occurrence, il ne manque pas de break, vu sa fonctionnalité.

            Par contre, ce sont les mois 1,3,5,7,8,10,12 d'une part et 4,6,9,11 d'autre part qui ont le même nombre de jours.

            Cordialement
            0