Page 1 sur 1

Champs dynamiques

Posté : 03 janv. 2016, 12:51
par yvan_debor
Salut à tous.

je suis en train de faire un formulaire pour la gestion d'un centre médical. j ai créé des fonctions qui me permettrons d afficher d'autres champs dès qu'on sélectionne l'un des éléments de la première liste.

En clair dès qu'on sélectionnera un élément au niveau du type de médicament, automatiquement tous les médicaments en rapport avec ce type de médicament s'afficheront dans le second champ où on choisira le médicament voulu. Mais le problème avec mon formulaire,c'est que quand je sélectionne le type de médicament je n ai aucun champ qui s'affiche.
<?php
    include '../connexion.php';
    require_once('../session/pythagore1.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>.:: Enrégistrement médicament  ::.</title>
<link href="../images/2.jpg" rel="shorcut icon" type="image/x*icon"/>
<link rel="stylesheet" type="text/css" href="lien_gestion.css">
<script language="javascript">
//Création des fonctions
function verif(){
    if(document.layers){
        formulaire=document.forms.monFormulaire;
    }
    else{
        formulaire=document.monFormulaire;
    }
}
function verifchoixType(){
    verif();
    if(formulaire.choixType.value==="0")
    {
    alert('Veuillez choisir un type!');
    formulaire.choixType.focus();
    }
}
var medicaments=new Array();
medicaments=new Array();
medicaments[0]=new Array("Ampiciline","Benzylp&ecute;niciline");
medicaments[1]=new Array("Parac&acute;tamol","Cotrimoxazole");
medicaments[2]=new Array("Benzylbenzoate","Talc");
function remplirMedicament(code){
  verif();
  var lesMedicaments=medicaments[code];
  if(code>0)
  {
      formulaire.choixMedicament.options.length;
      for(i=0;i<lesMedicaments.length;i++)
      {
          formulaire.choixMedicament.options[i].value=lesMedicaments[i];
          formulaire.choixMedicament.options[i].text=lesMedicaments[i];
      }
      document.monFormulaire.choixMedicament.options.selectedIndex=0;
  }
  else{
      formulaire.choixMedicament.options.length=1;
      formulaire.choixMedicament.options[0].value=0;
      formulaire.choixMedicament.options[0].text="--choisissez un m&eacute;dicament--";
  }
}  
</script>
</head>
<body bgcolor="#fff">
        <div align="center" class="style2"><strong><h3> Ajouter un m&eacute;dicament</h3></strong></div>
        <form name="monFormulaire" action="insert_medic.php" method="post">
<p>&nbsp;</p>
        <p>&nbsp;</p>
            <table width="800" height="400" align="center" bgcolor="#F3F3F3" style="padding:1%; margin-bottom:2%;">
               <tr>
                   <td align="right"  class="champ_texte"><font color="#FF0000"></font> M&eacute;dicament :</td>
              <td width="539" align="left"><table width="143" border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td><span class="champ_texte2">Type : &nbsp;</span><br />
                    <select name="choixType" class="champ_input" id="typemedic" onchange="remplirMedicament(this.options[this.selectedIndex].value);" required="required">
                        <option value="0" selected>--Choisir le type</option>
                        <option value="1" >Injectable</option>                     
                        <option value="2" >Oral</option>
                        <option value="3" >Externe</option>
                    </select></td>
                    <td width="50">&nbsp;</td>
                  <td width="150" id="cellmedic"></td>
            </tr>
              </table></td>
            </tr>
                <tr>
                    <td><div align="right" class="champ_texte">
                            <div align="right">Prix unitaire : &nbsp;</div>
                        </div>
                    </td>
                    <td>&nbsp;
                        <input name="pu" type="number" size="30" required/></td>
                </tr>
                <tr>
                    <td><div align="right" class="champ_texte">
                            <div align="right">Quantit&eacute; : &nbsp;</div>
                        </div>
                    </td>
                    <td>&nbsp;
                    <input name="qte" type="number" size="30" required/></td>
                </tr>
                <tr>
                          <td><div align="right" class="champ_texte">
                                   <div align="right">Prix total : &nbsp;</div>
                          </div></td>
                          <td>&nbsp;
                              <input name="pt"  value="qte*pu" type="number" size="30" required/></td>
    </tr>
<tr>
            <td><div align="right" class="champ_texte">
                    <div align="right">Date de peremption : &nbsp;</div></div></td>
            <td>&nbsp;
<?php
echo "<select name=\"jourperemption\">";
for ($i = 1; $i < 32; $i++) {
    echo "<option value=\"$i\">$i</option>";
}
echo "</select>&nbsp;&nbsp;";
echo "<select name=\"moisperemption\">";
for ($i = 1; $i < 13; $i++) {
    echo "<option value=\"$i\">$i</option>";
}
echo "</select>&nbsp;&nbsp;";
echo "<select name=\"anneeperemption\">";
for ($i = 2000; $i < 2020; $i++) {
    echo "<option value=\"$i\">$i</option>";
}
echo "</select>";
?>
            </td>
        </tr>
         <tr>
<td><div align="right"><span class="Style29"><span class="Style29"></span></span></div></td>
                          <td><input name="valider" type="submit" value="valider" />
                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                         <input name="annuler" type="reset" value="annuler" />                          </td>
                        </tr>
    </table>
</form>
</body>
</html>
<?php
// deconnexion de la base
mysqli_close($connex);

Re: Champs dynamiques

Posté : 04 janv. 2016, 20:03
par jeremylevy
Salut,

Tu es dans la mauvaise section. Tu auras surement plus de réponse dans la section Javascript : javascript-ajax/

++

Re: Champs dynamiques

Posté : 04 janv. 2016, 20:35
par @rthur
Tu es dans la mauvaise section. Tu auras surement plus de réponse dans la section Javascript : javascript-ajax/
Effectivement, du coup j'ai déplacé ce sujet dans le bon forum :)

Re: Champs dynamiques

Posté : 05 janv. 2016, 13:51
par yvan_debor
ok merci