begin process at 2012 05 29 01:16:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Calculs conditionnels dans un formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Calculs conditionnels dans un formulaire

lundi 15 octobre 2007 à 14:09:25 | Calculs conditionnels dans un formulaire

magalidelmas

Bonjour,

J'ai un formulaire avec un champ texte Commentaire qui doit prendre en compte plusieurs données pour afficher le résultat voulu.
Comment faire pour que le calcul prenne en compte plusieurs variables ?

exemple :

function commente(imc) {
   if (imc>=22 && imc<23) {
   if (taille<160)
   if (form.sexe.value==2)
     return "Votre poids est correct mais vous êtes un peu enveloppé(e). Nous vous proposons un PROGRAMME 1 qui correspond à une perte de 3 à 5 kg." ;

Merci

Magali,
Perdue dans le code javascript
lundi 15 octobre 2007 à 14:26:18 | Re : Calculs conditionnels dans un formulaire

bultez

Membre Club


Bonjour,


    if (imc>=22 && imc<23)
              {    if (taille<160)
                           {    if (form.sexe.value==2)
                                        {     les 3 conditions sont vraies   }
                                 else { les 2 1ères sont vraies }
                           }
                   else   {   la 1ère est vraie, pas la 2ème, la 3ème n'est pas testée }
              }
   else    { la 1ère n'est pas vraie, les 2 autres ne sont pas testées }

if ( imc>=22 && imc<23 && taille<160 && form.sexe.value==2 )
          {  les 3 conditions sont vraies   }
else   {   au moins une n'est pas vraie }


ça dépend donc de ce qu'on veut faire

regarder aussi du coté de  switch ( zone )
                                            {   case valeur_1:
                                                    traitement...
                                                    break;
                                                 case valeur_2:
                                                     ...
                                                 default:
                                            }

                Cordialement            Bul         [mon Site]     [M'écrire]

lundi 15 octobre 2007 à 15:33:00 | Re : Calculs conditionnels dans un formulaire

magalidelmas

Merci beaucoup, mais je ne m'en sort pas. Je n'arrive pas à ce que je veux.
Si je vous donne mon formulaire et mon script, pouvez-vous m'aider à trouver pourquoi cela ne marche pas ?

Encore merci de me donner un peu de votre temps, car de mon côté, je m'arrache les cheveux ...

Voici mon formulaire :


<form>
        <table border="0" width="797" align="center" class="texte" bgcolor="#7A3D7A" height="441">
          <tbody>
          <tr>
            <td colspan="2" valign="middle" height="35" bgcolor="#7A3D7A">
              <div align="right"><font face="Arial"><b>Taille</b> (en cm) : </font>
              </div>
            </td>
            <td valign="middle" colspan="2" bgcolor="#7A3D7A"><font face="Arial" size="1">
              <input name="taille" size="3" maxlength="5" type="text">
              </font></td>
          </tr>
          <tr>
            <td colspan="2" valign="middle" height="35" bgcolor="#7A3D7A">
              <div align="right"><font face="Arial"><b>Poids</b> (en kg) : </font></div>
            </td>
            <td valign="middle" colspan="2" bgcolor="#7A3D7A"><font face="Arial" size="1">
              <input name="poids" size="3" maxlength="5" type="text">
              </font></td>
          </tr>
          <tr bgcolor="#7A3D7A">
            <td colspan="2" height="34">
              <div align="right"><font face="Arial"><b>Sexe</b> : </font></div>
            </td>
            <td valign="middle" colspan="2"><font face="Arial"><b> Homme</b>
              <input name="sexe" value="1" onClick="changeSexe(this.form,1)" type="radio">
              <b>Femme</b>
              <input name="sexe" value="2" onClick="changeSexe(this.form,2)" type="radio">
              </font></td>
          </tr>
          <tr bgcolor="#333333">
            <td height="46" colspan="4" class="texte">
              <div align="center"><font face="Arial" size="1">
                <input name="calculPI" value="Calculer" size="4" maxlength="4" onClick="poidsIdeal(form)" type="button">
                <input type="reset" name="Reset" value="Effacer">
                </font> </div>
            </td>
          </tr>
          <tr bgcolor="#7A3D7A">
            <td width="144" class="texte" height="40" valign="middle">
              <div align="right"><font face="Arial"><b>Poids idéal</b> :</font><font face="Arial" size="2" class="texte">
                </font></div>
            </td>
            <td width="172" class="texte" valign="middle"><font face="Arial" size="1">
              <input name="poidsID" size="3" maxlength="4" type="text">
              </font><font face="Arial"> kg </font><font face="Arial" size="1">
              <br>
              </font></td>
            <td width="220" class="texte" valign="middle"><font face="Arial"><b>Poids
              mini</b> :
              <input type="text" name="poidsmini" size="1">
              kg</font><font face="Arial"><br>
              </font></td>
            <td class="texte" width="243" valign="middle"><font face="Arial">
              <b>Poids maxi</b> :
              <input type="text" name="poidsmaxi" size="1">
              kg</font></td>
          </tr>
          <tr bgcolor="#7A3D7A">
            <td class="texte" height="39" valign="middle">
              <div align="right"><font face="Arial" size="2" class="texte"><b>IMC</b>
                : </font></div>
            </td>
            <td class="texte" valign="middle"><font face="Arial" size="1">
              <input name="imc" size="3" maxlength="5" type="text">
              </font></td>
            <td colspan="2" class="texte" valign="middle"><b><font face="Arial, Helvetica, sans-serif">Poids
              maximum &agrave; perdre</font></b><font face="Arial, Helvetica, sans-serif">
              : </font>
              <input type="text" name="maxiperte" size="1">
              kg </td>
          </tr>
          <tr bgcolor="#333333">
            <td colspan="4" class="texte" height="32">
              <div align="center"><font face="Arial" size="2" class="texte"></font></div>
            </td>
          </tr>
          <tr align="center">
            <td colspan="3" class="texte" valign="top" bgcolor="#7A3D7A" rowspan="5">
              <div align="center"><span class="texte"><font face="Arial" size="1"><br>
                </font><font face="Arial" size="2" class="texte"><b>COMMENTAIRES</b></font><font face="Arial" size="1"><br>
                <br>
                <textarea name="commentaire" cols="50" rows="8"></textarea>
                <br>
                </font></span></div>
            </td>
            <td class="texte" height="55" valign="top" bgcolor="#7A3D7A"><span class="texte"><font face="Arial" size="1">
              </font></span><font face="Arial"><br>
              <br>
              </font></td>
          </tr>
          <tr align="center">
            <td valign="middle" height="32" class="texte" bgcolor="#7A3D7A"><font face="Arial"><a href="programmes_forfaitaires.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image6','','Images/BT/BT_prog_forfaitaires3.jpg',1)"><img name="Image6" border="0" src="Images/BT/BT_prog_forfaitaires4.jpg" width="223" height="30"></a></font></td>
          </tr>
          <tr align="center">
            <td height="21" valign="top" class="texte" bgcolor="#7A3D7A">&nbsp;</td>
          </tr>
          <tr align="center">
            <td height="30" valign="middle" class="texte" bgcolor="#7A3D7A"><font face="Arial"><a href="programmes_personnalises.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image7','','Images/BT/BT_prog_personnalises3.jpg',1)"><img name="Image7" border="0" src="Images/BT/BT_prog_personnalises4.jpg" width="223" height="30"></a></font></td>
            </tr>
          <tr align="center">
            <td height="73" valign="top" class="texte" bgcolor="#7A3D7A">&nbsp;</td>
          </tr>
          </tbody>
        </table>
      </form>


Et voici mon script :

<script language="Javascript">
<!--
function poidsIdeal(form) {

  if (form.sexe.value==1) {
     form.poidsID.value = (form.taille.value - 100) - (form.taille.value-150)/4 ;
     form.poidsmini.value = 20*(form.taille.value*form.taille.value)/10000 ;
     form.poidsmaxi.value = 25*(form.taille.value*form.taille.value)/10000 ;
     form.imc.value = form.poids.value * 10000/(form.taille.value*form.taille.value) ;    //arrondi 2 chiffres apres la virgule
     form.commentaire.value = commente(form.imc.value) ;
     form.maxiperte.value = (form.poids.value - form.poidsmini.value) ;
  }
  if (form.sexe.value==2) {
     form.poidsID.value = (form.taille.value - 100) - (form.taille.value-150)/2.5 ;
     form.poidsmini.value = 19*(form.taille.value*form.taille.value)/10000 ;
     form.poidsmaxi.value = 24*(form.taille.value*form.taille.value)/10000 ;
     form.imc.value = form.poids.value * 10000/(form.taille.value*form.taille.value) ;    //arrondi 2 chiffres apres la virgule
     form.commentaire.value = commente(form.imc.value) ;
     form.maxiperte.value = (form.poids.value - form.poidsmini.value) ;
      }
}
function changeSexe(form,sexe) {
   form.sexe.value = sexe ;

}
function calculImc(form) {
   form.imc.value = form.poids.value * 10000/(form.taille.value*form.taille.value) ;    //arrondi 2 chiffres apres la virgule
   form.commentaire.value = commente(form.imc.value) ;
}
function commente(imc) {
   if (imc<19) {
     return "Vous êtes maigre. Vous ne devez pas entreprendre de régime." ;
   }
   if (imc>=19 && imc<22) {
     return "Votre poids est correct. Vous n'avez pas besoin de perdre du poids." ;
     }
   if (imc>=22 && imc<23)
        { if (taille<160)
            { if (form.sexe.value==2)
     return "Votre poids est correct mais vous êtes un peu enveloppé(e). Nous vous proposons un PROGRAMME 1 qui correspond à une perte de 3 à 5 kg." ;
   }
   if (imc>=22 && imc<23)
        { if (taille>=160 && taille<175)
            { if (form.sexe.value==2)
     return "Votre poids est correct mais vous êtes un peu enveloppé(e). Nous vous proposons un PROGRAMME 2 qui correspond à une perte de 3 à 5 kg." ;
   }
   if (imc>=22 && imc<23)
        { if (taille>=175)
            { if (form.sexe.value==2)
     return "Votre poids est correct mais vous êtes un peu enveloppé(e). Nous vous proposons un PROGRAMME 3 qui correspond à une perte de 3 à 5 kg." ;
   }
   if (imc>=22 && imc<23)
        { if (taille<170)
            { if (form.sexe.value==1)
     return "Votre poids est correct mais vous êtes un peu enveloppé(e). Nous vous proposons un PROGRAMME 3 qui correspond à une perte de 3 à 5 kg." ;
   }
   if (imc>=22 && imc<23)
        { if (taille>=170 && taille<185)
            { if (form.sexe.value==1)
     return "Votre poids est correct mais vous êtes un peu enveloppé(e). Nous vous proposons un PROGRAMME 10 qui correspond à une perte de 3 à 5 kg." ;
   }
   if (imc>=22 && imc<23)
        { if (taille>=185)
            { if (form.sexe.value==1)
     return "Votre poids est correct mais vous êtes un peu enveloppé(e). Nous vous proposons un PROGRAMME 11 qui correspond à une perte de 3 à 5 kg." ;
   }
   if (imc>=23 && imc<25,5)
           { if (taille<160)
            { if (form.sexe.value==2)
     return "Vous êtes en surpoids. Nous vous proposons un PROGRAMME 4 qui correspond à une perte de 5 à 7 kg." ;
   }
   if (imc>=23 && imc<25,5)
           { if (taille>=160 && taille<175)
            { if (form.sexe.value==2)
     return "Vous êtes en surpoids. Nous vous proposons un PROGRAMME 5 qui correspond à une perte de 5 à 7 kg." ;
   }
   if (imc>=23 && imc<25,5)
           { if (taille>175)
            { if (form.sexe.value==2)
     return "Vous êtes en surpoids. Nous vous proposons un PROGRAMME 6 qui correspond à une perte de 5 à 7 kg." ;
   }
   if (imc>=23 && imc<25,5)
           { if (taille<170)
            { if (form.sexe.value==1)
     return "Vous êtes en surpoids. Nous vous proposons un PROGRAMME 6 qui correspond à une perte de 5 à 7 kg." ;
   }
   if (imc>=23 && imc<25,5)
           { if (taille>=170 && taille<185)
            { if (form.sexe.value==1)
     return "Vous êtes en surpoids. Nous vous proposons un PROGRAMME 12 qui correspond à une perte de 5 à 7 kg." ;
   }
   if (imc>=23 && imc<25,5)
           { if (taille>185)
            { if (form.sexe.value==1)
     return "Vous êtes en surpoids. Nous vous proposons un PROGRAMME 13 qui correspond à une perte de 5 à 7 kg." ;
   }
   if (imc>=25,5)
           { if (taille<160)
            { if (form.sexe.value==2)
     return "Vous êtes en surpoids excessif, vous devez perdre du poids pour votre santé. Nous vous proposons un PROGRAMME 7 qui correspond à une perte de 7 à 10 kg." ;
   }
   if (imc>=25,5)
           { if (taille>=160) && taille<175)
            { if (form.sexe.value==2)
     return "Vous êtes en surpoids excessif, vous devez perdre du poids pour votre santé. Nous vous proposons un PROGRAMME 8 qui correspond à une perte de 7 à 10 kg." ;
   }
   if (imc>=25,5)
           { if (taille<175)
            { if (form.sexe.value==2)
     return "Vous êtes en surpoids excessif, vous devez perdre du poids pour votre santé. Nous vous proposons un PROGRAMME 9 qui correspond à une perte de 7 à 10 kg." ;
   }
   if (imc>=25,5)
           { if (taille<170)
            { if (form.sexe.value==1)
     return "Vous êtes en surpoids excessif, vous devez perdre du poids pour votre santé. Nous vous proposons un PROGRAMME 9 qui correspond à une perte de 7 à 10 kg." ;
   }
   if (imc>=25,5)
           { if (taille>=170) && taille<185)
            { if (form.sexe.value==1)
     return "Vous êtes en surpoids excessif, vous devez perdre du poids pour votre santé. Nous vous proposons un PROGRAMME 14 qui correspond à une perte de 7 à 10 kg." ;
   }
   if (imc>=25,5)
           { if (taille<185)
            { if (form.sexe.value==1)
     return "Vous êtes en surpoids excessif, vous devez perdre du poids pour votre santé. Nous vous proposons un PROGRAMME 15 qui correspond à une perte de 7 à 10 kg." ;
   }
}
</script>


Magali,
Perdue dans le code javascript ....
lundi 15 octobre 2007 à 15:49:25 | Re : Calculs conditionnels dans un formulaire

bultez

Membre Club
ce n'est probablement pas une question javascript,    mais de logique.
    fait un schéma, résoud "en français"...   d'abord puis traduit en javascript.

                Cordialement            Bul         [mon Site]     [M'écrire]

lundi 15 octobre 2007 à 15:59:18 | Re : Calculs conditionnels dans un formulaire

magalidelmas

Merci, j'y travaille et je voie dans quel sens je peux retourner la question.

Magali,
Perdue dans le code javascript
mercredi 17 octobre 2007 à 17:05:12 | Re : Calculs conditionnels dans un formulaire

magalidelmas

Bonjour,

J'ai bien bossé et je sens que j'y suis presque.

Peux-tu me dire pourquoi ce script ne marche pas ? Où est la faute ?


function calculProg(form) {
    if (form.sexe.value==1) {
        if (form.taille.value<170) {
            if (form.perte.value<1) {
            form.commentaire.value = "Vous êtes parfait ainsi !"
            } else {
            if (form.perte.value>=1 && form.perte.value<3) {
            form.commentaire.value = "Le Programme Douceur est pour vous"
            } else {
            if (form.perte.value>=3 && form.perte.value<5) {
            form.commentaire.value = "Le Programme 3 est pour vous"
            } else {
            if (form.perte.value>=5 && form.perte.value<7) {
            form.commentaire.value = "Le Programme 6 est pour vous"
            } else {
            if (form.perte.value>=7) {
            form.commentaire.value = "Le programme 9 est pour vous"
            }
           }
        }
      }
    }
  }
}

    if (form.sexe.value==1) {
        if (form.taille.value>=170 && form.taille.value<185) {
            if (form.perte.value<1) {
            form.commentaire.value = "Vous êtes parfait ainsi !"
            } else {
            if (form.perte.value>=1 && form.perte.value<3) {
            form.commentaire.value = "Le Programme Douceur est pour vous"
            } else {
            if (form.perte.value>=3 && form.perte.value<5) {
            form.commentaire.value = "Le Programme 10 est pour vous"
            } else {
            if (form.perte.value>=5 && form.perte.value<7) {
            form.commentaire.value = "Le Programme 12 est pour vous"
            } else {
            if (form.perte.value>=7) {
            form.commentaire.value = "Le programme 14 est pour vous"
            }
           }
        }
      }
    }
  }
}

    if (form.sexe.value==1) {
        if (form.taille.value>185) {
            if (form.perte.value<1) {
            form.commentaire.value = "Vous êtes parfait ainsi !"
            } else {
            if (form.perte.value>=1 && form.perte.value<3) {
            form.commentaire.value = "Le Programme Douceur est pour vous"
            } else {
            if (form.perte.value>=3 && form.perte.value<5) {
            form.commentaire.value = "Le Programme 11 est pour vous"
            } else {
            if (form.perte.value>=5 && form.perte.value<7) {
            form.commentaire.value = "Le Programme 13 est pour vous"
            } else {
            if (form.perte.value>=7) {
            form.commentaire.value = "Le programme 15 est pour vous"
            }
           }
        }
      }
    }
  }
}

    if (form.sexe.value==2) {
        if (form.taille.value<160) {
            if (form.perte.value<1) {
            form.commentaire.value = "Vous êtes parfaite ainsi !"
            } else {
            if (form.perte.value>=1 && form.perte.value<3) {
            form.commentaire.value = "Le Programme Douceur est pour vous"
            } else {
            if (form.perte.value>=3 && form.perte.value<5) {
            form.commentaire.value = "Le Programme 1 est pour vous"
            } else {
            if (form.perte.value>=5 && form.perte.value<7) {
            form.commentaire.value = "Le Programme 4 est pour vous"
            } else {
            if (form.perte.value>=7) {
            form.commentaire.value = "Le programme 7 est pour vous"
            }
           }
        }
      }
    }
  }
}

    if (form.sexe.value==2) {
        if (form.taille.value>=160 && form.taille.value<175) {
            if (form.perte.value<1) {
            form.commentaire.value = "Vous êtes parfaite ainsi !"
            } else {
            if (form.perte.value>=1 && form.perte.value<3) {
            form.commentaire.value = "Le Programme Douceur est pour vous"
            } else {
            if (form.perte.value>=3 && form.perte.value<5) {
            form.commentaire.value = "Le Programme 2 est pour vous"
            } else {
            if (form.perte.value>=5 && form.perte.value<7) {
            form.commentaire.value = "Le Programme 5 est pour vous"
            } else {
            if (form.perte.value>=7) {
            form.commentaire.value = "Le programme 8 est pour vous"
            }
           }
        }
      }
    }
  }
}

    if (form.sexe.value==2) {
        if (form.taille.value>175) {
            if (form.perte.value<1) {
            form.commentaire.value = "Vous êtes parfaite ainsi !"
            } else {
            if (form.perte.value>=1 && form.perte.value<3) {
            form.commentaire.value = "Le Programme Douceur est pour vous"
            } else {
            if (form.perte.value>=3 && form.perte.value<5) {
            form.commentaire.value = "Le Programme 3 est pour vous"
            } else {
            if (form.perte.value>=5 && form.perte.value<7) {
            form.commentaire.value = "Le Programme 6 est pour vous"
            } else {
            if (form.perte.value>=7) {
            form.commentaire.value = "Le programme 9 est pour vous"
            }
           }
        }
      }
    }
  }
}
}


Merci beaucoup.

Magali,
Perdue dans le code javascript
mercredi 17 octobre 2007 à 20:37:33 | Re : Calculs conditionnels dans un formulaire

PetoleTeam

Membre Club
Bonjour,

Perso sans préjuger du reste j'aurai plutôt fait un truc du style

function calculProg(form) {
//-- Pour ameliorer la lisibilite
var Comment = "Vous êtes parfait ainsi !"
var Perte   = form.perte.value
var Taille  = form.taille.value;
  if( form.sexe.value==1) {
    if( Taille < 170){
      if( Perte >= 1)
        Comment = "Le Programme Douceur est pour vous"
      if( Perte >= 3)
        Comment = "Le Programme 3 est pour vous"
      if( Perte >= 5)
        Comment = "Le Programme 6 est pour vous"
      if( Perte >= 7)
        Comment = "Le programme 9 est pour vous"
    }
  }
...ETC....
  //-- On affecte a la fin
  form.commentaire.value =Comment;

à toi  de jouer...
 
 
;0)
jeudi 18 octobre 2007 à 08:57:38 | Re : Calculs conditionnels dans un formulaire

bultez

Membre Club


moi je préfère :

if( form.sexe.value==1) {
    if( Taille < 170)
    {
if (Perte >= 7)
         Comment = "Le programme 9 est pour vous";
             else    { if (Perte >= 5)
                Comment = "Le Programme 6 est pour vous";
              else    {
if (Perte >= 3)
                            Comment = "Le Programme 3 est pour vous";
                        else {
if (Perte >= 1)
                                  Comment = "Le Programme Douceur est pour vous";
                             }
                      }
                       }
      }

mais bon, c'est rien que pour emmouscailler PetoleTeam.   ;o))


                Cordialement            Bul         [mon Site]     [M'écrire]

jeudi 18 octobre 2007 à 09:57:14 | Re : Calculs conditionnels dans un formulaire

magalidelmas

Bonjour et merci pour votre aide.

Pour emmouscailler Petole Team, ta version ne marche pas. Rien n'apparaît dans mon champs texte Commentaire.

Voici le script que j'ai écrit d'après tes conseils :


function calculProg(form) {

var Comment = "Vous êtes parfait ainsi !"
var Perte = form.perte.value
var Taille = form.taille.value ;
  if (form.sexe.value==1) {
    if (Taille<170){
      if (Perte>=1)
        Comment = "Le Programme Douceur est pour vous"
      if (Perte>=3)
        Comment = "Le Programme 3 est pour vous"
      if (Perte>=5)
        Comment = "Le Programme 6 est pour vous"
      if (Perte>=7)
        Comment = "Le programme 9 est pour vous"
    }
  }
  if (form.sexe.value==1) {
    if (Taille>=170){
      if (Perte>=1)
        Comment = "Le Programme Douceur est pour vous"
      if (Perte>=3)
        Comment = "Le Programme 10 est pour vous"
      if (Perte>=5)
        Comment = "Le Programme 12 est pour vous"
      if (Perte>=7)
        Comment = "Le programme 14 est pour vous"
    }
  }
  if (form.sexe.value==1) {
    if (Taille>=185){
      if (Perte>=1)
        Comment = "Le Programme Douceur est pour vous"
      if (Perte>=3)
        Comment = "Le Programme 11 est pour vous"
      if (Perte>=5)
        Comment = "Le Programme 13 est pour vous"
      if (Perte>=7)
        Comment = "Le programme 15 est pour vous"
    }
  }
  if (form.sexe.value==2) {
    if (Taille<160){
      if (Perte>=1)
        Comment = "Le Programme Douceur est pour vous"
      if (Perte>=3)
        Comment = "Le Programme 1 est pour vous"
      if (Perte>=5)
        Comment = "Le Programme 4 est pour vous"
      if (Perte>=7)
        Comment = "Le programme 7 est pour vous"
    }
  }
  if (form.sexe.value==2) {
    if (Taille>=160){
      if (Perte>=1)
        Comment = "Le Programme Douceur est pour vous"
      if (Perte>=3)
        Comment = "Le Programme 2 est pour vous"
      if (Perte>=5)
        Comment = "Le Programme 5 est pour vous"
      if (Perte>=7)
        Comment = "Le programme 8 est pour vous"
    }
  }
  if (form.sexe.value==2) {
    if (Taille>=175){
      if (Perte>=1)
        Comment = "Le Programme Douceur est pour vous"
      if (Perte>=3)
        Comment = "Le Programme 3 est pour vous"
      if (Perte>=5)
        Comment = "Le Programme 6 est pour vous"
      if (Perte>=7)
        Comment = "Le programme 9 est pour vous"
    }
  }
form.commentaire.value = Comment ;
}

Et pour emouscailler aussi Bultez (y'a pas de raison !), ta version ne marche pas non plus. Voici le script selon tes conseils :

function calculProg(form) {

var Perte = form.perte.value
var Taille = form.taille.value ;

  if (form.sexe.value==1) {
    if (Taille < 170) {
      if (Perte >= 7)
         Comment = "Le programme 9 est pour vous";
             else {if (Perte >= 5)
                Comment = "Le Programme 6 est pour vous";
                else {if (Perte >= 3)
                    Comment = "Le Programme 3 est pour vous";
                     else {if (Perte >= 1)
                           Comment = "Le Programme Douceur est pour vous";
                           }
                        }
                     }
                    }
               }
  if (form.sexe.value==1) {
    if (Taille >= 170) {
      if (Perte >= 7)
         Comment = "Le programme 14 est pour vous";
             else {if (Perte >= 5)
                Comment = "Le Programme 12 est pour vous";
                else {if (Perte >= 3)
                    Comment = "Le Programme 10 est pour vous";
                     else {if (Perte >= 1)
                           Comment = "Le Programme Douceur est pour vous";
                           }
                        }
                     }
                    }
               }
  if (form.sexe.value==1) {
    if (Taille >= 185) {
      if (Perte >= 7)
         Comment = "Le programme 15 est pour vous";
             else {if (Perte >= 5)
                Comment = "Le Programme 13 est pour vous";
                else {if (Perte >= 3)
                    Comment = "Le Programme 11 est pour vous";
                     else {if (Perte >= 1)
                           Comment = "Le Programme Douceur est pour vous";
                           }
                        }
                     }
                    }
               }
  if (form.sexe.value==2) {
    if (Taille < 160) {
      if (Perte >= 7)
         Comment = "Le programme 7 est pour vous";
             else {if (Perte >= 5)
                Comment = "Le Programme 4 est pour vous";
                else {if (Perte >= 3)
                    Comment = "Le Programme 1 est pour vous";
                     else {if (Perte >= 1)
                           Comment = "Le Programme Douceur est pour vous";
                           }
                        }
                     }
                    }
               }
  if (form.sexe.value==2) {
    if (Taille >= 160) {
      if (Perte >= 7)
         Comment = "Le programme 8 est pour vous";
             else {if (Perte >= 5)
                Comment = "Le Programme 5 est pour vous";
                else {if (Perte >= 3)
                    Comment = "Le Programme 2 est pour vous";
                     else {if (Perte >= 1)
                           Comment = "Le Programme Douceur est pour vous";
                           }
                        }
                     }
                    }
               }
  if (form.sexe.value==2) {
    if (Taille >= 175) {
      if (Perte >= 7)
         Comment = "Le programme 9 est pour vous";
             else {if (Perte >= 5)
                Comment = "Le Programme 6 est pour vous";
                else {if (Perte >= 3)
                    Comment = "Le Programme 3 est pour vous";
                     else {if (Perte >= 1)
                           Comment = "Le Programme Douceur est pour vous";
                           }
                        }
                     }
                    }
               }
form.commentaire.value = Comment ;
}


Où est l'erreur ? Merci, merci et merci.

Magali,
Perdue dans le code javascript
jeudi 18 octobre 2007 à 11:53:26 | Re : Calculs conditionnels dans un formulaire

PetoleTeam

Membre Club

Bonjour,
Traites nous de Blaireau pendant que tu y es...et tu auras RAISON car le problème est ailleurs, nous sommes en présence, me semble t-il, je ne me mouille plus, d'un problème de cohérence de données a comparer.
form.nom_du_champ.value retourne une STRING et non un ENTIER voir un FLOTTANT, donc...il faut convertir avant usage les comparaisons étant faite sur des nombres
var Perte   = parseFloat(form.perte.value); // conversion en flottant
var Taille  = parseFloat(form.taille.value);
// etc...pour les autres données à manipuler..

et moi qui pensais qu'il s'agissait d'un problème d'encapsulage de if, je lirais dorénavant le topic en plein.
PS : je me trompe peut être encore d'ailleurs...
 
;0)

1 2

Cette discussion est classée dans : formulaire, calculs, conditionnels, if, imc


Répondre à ce message

Sujets en rapport avec ce message

Création formulaire avec calculs [ par orelien ] Bonjour,j'ai un formulaire de plusieurs lignes contenant chacune 4 éléments :Libélle - prix - quantité - totalEn fin de page : un champ total global.S Formulaire : affichage sous question [ par otakon ] Bonjour à toutes et à tous,Je cherche un petit code js me permettant d'afficher une sous question immediatement si une case type radio est cochée ?J'i Problème de formulaire utilisant du JS [ par scrugeon ] Bonjour tout le monde,Alors voilà je me lance à la découverte du JS et de l'AJAX et je galère un peu sur un formulaire.Je vous explique un peu mon pro controler plusieurs champs d'un formulaire [ par attentio ] Bonjour,j'ai une fonction qui verifie tous les champs d'un formulaire qui ne marche pasje ne comprends vraiment pas pourquoi ?si je mets   if(document problème dans mon formulaire [ par cindrella85 ] j'ai insérer ce fragment de code entre les balises head   function verifier()    { message="";      messagefinal="";      temoin=0;      temoin1=0;    problème fonction javascript [ par abdeslam2009 ] Bonjour, j'ai deux pages web en html consultation_client et article_consult dans la première page (consultation_client) j'ai créé des champs ,des Colorer champs formulaire apres validation [ par socket77 ] Mon code envoie bien des erreur si les champs ne sont pas valides mais ne les colore pas en rouge comme prévu.. Une idée? merci function check() { trés urgent svp !!!!!!!!!!!!!!!! [ par graph2007 ] bjr tous le mondej'ai un petit question est j'espère que vous m'aider le plus vite possibleje suis null en javascript, mais je doit realiser un formul Problème de formulaire utilisant du JS [ par scrugeon ] Bonjour tout le monde,Alors voilà je me lance à la découverte du JS et de l'AJAX et je galère un peu sur un formulaire.Je vous explique un peu mon pro probleme avec mon code source en javascript [ par osken2017 ] Bonsoir voici mon code source qui doit normalement afficher un CV en html apres avoir fini de remplir le formulaire qu'il contient. Cependant je renco


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,435 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales