[resolu] afficher un text area en fonction d'un select...

afficher un text area en fonction d'un select... [resolu] - HTML/CSS - Programmation

Marsh Posté le 05-04-2006 à 09:45:13    

Bonjour à tous!
 :D  
je me trouve confronté à un problème qui me laisse plutot perplexe  :sweat: :  
j'ai crée une deux fonctions, quasiment identiques, dont l'1 fonctionne et l'autre non.
les seules différences sont l'affectation d'un nom de formulaire.
le but est d'afficher un text area quand telle option du select est choisie.
 
donc ça marche pour l'un (function verifautre()) mais pas pour le second (function verifretrait())
or, comme je disais la seule différence est le nom de formulaire....
 
quelqu'un peut me filer un coup main s'il vous plait?
suis sur que c'est tout con, mais ça me rend dingue de ne pas comprendre pourquoi une fonction simple comme ça débloque (ou moi  :pt1cable: )
ça fait plusieurs journées que je me casse la tête dessus!!
 
merci d'avance et bonne journée!  
 
voici mon code,  
 
dans ma page principale le javascript dans le head :  

Code :
  1. <script language="JavaScript" type="text/JavaScript" >
  2. function verifautre() {
  3.       if (document.forms.remise.motifnonremise.options.selectedIndex==9)
  4.        { document.getElementById("verifo" ).style.display="block";
  5.         }
  6.        else {document.getElementById("verifo" ).style.display="none";}
  7.     }
  8. function verifretrait() {
  9.       if (document.forms.bordereauretrait.motifbordretrait.options.selectedIndex==4)
  10.        { document.getElementById("verifo1" ).style.display="block";
  11.         }
  12.        else {document.getElementById("verifo1" ).style.display="none";}
  13.     }
  14.     </script>


 
dans un include contenant mon premier formulaire :  

Code :
  1. <form  method="post" name="remise">
  2. <input type="hidden" name="id" value="<?php echo $_SESSION['id'];?>" />
  3. <h1 class="centre">Bordereau de Remise</h1>
  4. <p class="texteformu">Date de Retour du Bordereau de Remise : <br><p class="centre"><input type="text" name="retourbr_jour" size="2" maxlength="2" value="<?php echo $dateretourdebordereauremise[2]; ?>"/>
  5.               <input type="text" name="retourbr_mois" size="2" maxlength="2" value="<?php echo $dateretourdebordereauremise[1]; ?>"/>
  6.               <input type="text" name="retourbr_an" size="4" maxlength="4" value="<?php echo $dateretourdebordereauremise[0]; ?>"/></p></p>
  7. <p class="texteformu">Motif de non remise/d'absence : <br><p class="centre"><select name="motifnonremise" onChange="verifautre()">
  8. <option value="Changement d etat civil" <?php if ($donnees1['MotifNonRemise']=='Changement d etat civil'){echo 'selected="selected"';}?>>Changement d'&eacute;tat civil</option>
  9. <option value="Sortie de fonction" <?php if ($donnees1['MotifNonRemise']=='Sortie de fonction'){echo 'selected="selected"';}?>>Sortie de fonction </option>
  10. <option value="Changement d adresse de bureau" <?php if ($donnees1['MotifNonRemise']=='Changement d adresse de bureau'){echo 'selected="selected"';}?>>Changement d adresse de bureau</option>
  11. <option value="Sanctions" <?php if ($donnees1['MotifNonRemise']=='Sanctions'){echo 'selected="selected"';}?>>Sanctions</option>
  12. <option value="Mutation hors departement"<?php if ($donnees1['MotifNonRemise']=='Mutation hors departement'){echo 'selected="selected"';}?>>Mutation</option>
  13. <option value="Refus de signer ou d apposer la photo"<?php if ($donnees1['MotifNonRemise']=='Refus de signer ou d apposer la photo'){echo 'selected="selected"';}?>>Refus de signer ou d apposer la photo</option>
  14. <option value="Promotion ou Changement de fonction"<?php if ($donnees1['MotifNonRemise']=='Promotion ou Changement de fonction'){echo 'selected="selected"';}?>>Promotion</option>
  15. <option value="Donnees inexactes"<?php if ($donnees1['MotifNonRemise']=='Donnees inexactes'){echo 'selected="selected"';}?>>Changement de fonction</option>
  16. <option value="Refus de remplir la declaration sur l honneur"<?php if ($donnees1['MotifNonRemise']=='Refus de remplir la declaration sur l honneur'){echo 'selected="selected"';}?>>Refus de remplir la d&eacute;claration sur l honneur</option>
  17. <option  value="Autre" <?php if ($donnees1['MotifNonRemise']=='Autre'){echo 'selected="selected"';}?>>Autre</option>
  18. </select></p></p>
  19. <div id="verifo">
  20. <p class="texteformu">Motif autre : <br><p class="centre"><textarea name="motifautre" cols="40" rows="2" ><?php echo $donnees1['MotifAutre']; ?></textarea></p></p>
  21. </div>
  22. <input type="submit" value="Envoyer" />
  23. </form>


 
celui là fonctionne.
 
dans un autre include mon deuxième formulaire qui foire :  
 

Code :
  1. <form  method="post" name="bordereauretrait">
  2. <h1 class="centre">Bordereau de Retrait : </h1>
  3. <input type="hidden" name="id" value="<?php echo $_SESSION['id'];?>" />
  4. <p class="texteformu">Motif Bordereau de retrait : <br><p class="centre"><select name="motifbordretrait" onchange="verifretrait()">
  5. <option value="Absence superieure a 2 mois" <?php if ($donnees1['MotifBordRetrait']=='Absence superieure a 2 mois'){echo 'selected="selected"';}?>>Absence sup&eacute;rieure &agrave; 2 mois</option>
  6. <option value="Sortie de fonction" <?php if ($donnees1['MotifBordRetrait']=='Sortie de fonction'){echo 'selected="selected"';}?>>Sortie de fonction</option>
  7. <option value="Sanctions effectives" <?php if ($donnees1['MotifBordRetrait']=='Sanctions effectives'){echo 'selected="selected"';}?>>Sanctions effectives</option>
  8. <option value="Changement de fonction hors perimetre" <?php if ($donnees1['MotifBordRetrait']=='Changement de fonction hors perimetre'){echo 'selected="selected"';}?>>Changement de fonction hors p&eacute;rimetre</option>
  9. <option value="Autre" <?php if ($donnees1['MotifBordRetrait']=='Autre'){echo 'selected="selected"';}?>>Autre</option>
  10. </select></p>
  11. <div id="verifo1">
  12. <p class="texteformu">Motif autre : <br><p class="centre"><textarea name="motifautrebordretrait" cols="40" rows="5" ><?php echo $donnees1['MotifAutreBordRetrait']; ?></textarea></p>
  13. </div>
  14. <input type="submit" value="Envoyer" />
  15. </form>


 
 
[edit]
bon ben j'ai trouvé la soluce :  
j'ai tout simplement renommé mon formulaire.  
je n'explique pas cette erreur, sinon que je dois peut-être avoir une variable portant le même nom dans un autre include php...
 
2 jours que je bloque sur cette connerie et 5 minutes une fois envoyé sur le forum je trouve...
je vais m'envoyer des mails, ce sera plus simple que de venir vous casser les b..nes.
 :sweat:  :D    
 
en tous les cas merci déjà à ceux qui se sont penchés sur mon post!!
 
bonne journée à tous!!!

Message cité 1 fois
Message édité par flock86 le 05-04-2006 à 09:56:43
Reply

Marsh Posté le 05-04-2006 à 09:45:13   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed