Partage
  • Partager sur Facebook
  • Partager sur Twitter

javascript

afficher un formulaire en fonction ...

Sujet résolu
    20 mars 2011 à 19:10:35

    salut la communauté!
    voila j'ai un petit probleme je voudrais afficher un formulaire en fonction du choix de l'utilisateur dans un liste et pour cela j'ai fais ceci mais ca pa marcher et je comprends pas pourquoi!
    <form action="#" method="post" name="ajoututilisateur">
         <fieldset><legend align="left"> Ajout d'utilisateur</legend>
            <table width="55%" cellspacing="5">
             <tr><td width="40%" valign="top">
               <table >
                 <tr><td><label for="profils">Profils</label></td><td><select name="profil" size="1" id="choix_profil"  >
                 <option value="01admin">administrateur</option> <br /><option value="02prof">prof</option> <br /><option value="03scolarite">scolarite</option> <br />             </select></td></tr></table>
    
            </td>
            <td width="60%" valign="top">
                 <table  id="admin" width="100%">
                   <tr><td><label for="NomAdmin">Nom Administrateur</label></td><td><input name="nomadmin" type="text" /></td></tr>
    			   <tr><td><label for="PrenomAdmin">Prenom Administrateur</label></td><td><input name="prenomadmin" type="text" /></td></tr>
                 </table>
                <table id="prof" width="100%">
                   <tr><td><label for="IdProf">Id Professeur</label></td><td><input name="idprof" type="text" /></td></tr>
    
    			   <tr><td><label for="NomProf">Nom Professeur</label></td><td><input name="nomprof" type="text" /></td></tr>
    			   <tr><td><label for="PrenomProf">Prenom Professeur</label></td><td><input name="prenomprof" type="text" /></td></tr>
    			   <tr><td><label for="TitreProf">Titre Professeur</label></td><td><input name="titreprof" type="text" /></td></tr>
    			   <tr><td><label for="ContProf">Contrat Professeur</label></td><td><input name="contprof" type="text" /></td></tr>
                 </table> 
               <table  id="scolarite" width="100%">
                   <tr><td width="100%" ><label for="IdProf">Id employer</label></td><td><input name="idprof" type="text" /></td></tr>
    
              </table>        </td></tr> 
            <tr><td colspan="2" width="100%" align="center"><input name="enregistrer" type="submit" onclick="enregistrerUtilisateur()" value="Enregistrer" />
              <input name="annuler" type="reset" value="Annuler" /></td></tr>
    
             </table>
         </fieldset>
      </form>
    

    et le code javascript qui reagira avec la page.
    function ChargerFormulaire(){
    	var choix = document.getElementById("choix_profil");
    	var admin = document.getElementById("admin");
    	var prof = document.getElementById("prof");
    	var scol = document.getElementById("scolarite");
       if(choix.value()=="administrateur"){
    	   admin.display = "inline";
    	   prof.display = "none";
    	   scol.display = "none";
       }
       if(choix.value()=="prof") {
    	   admin.display = "none";
    	   prof.display = "inline";
    	   scol.display = "none";
       }
       
       if(choix.value()=="scolarite"){
    	   admin.display = "none";
    	   prof.display = "none";
    	   scol.display = "inline";
       }
    }
    
    window.onload = function() {
       document.getElementById("choix_profil").onChange() = function(){
    	ChargerFormulaire();  
    	return false;
       }
       document.getElement.ById("choix_profil").onClick() = function() {
    	   ChargerFormulaire();
    	   return false;
       }
    }
    


    il faut dire qu'il ya un fichier CSS associé à cette page ou on a :
    #prof , #admin {
    display:none;
    }
    
    #scolarite {
    display:inline;
    }
    


    en claire je voudrais que cela l'option de select j'affiche soit le formulaire pour enregistrer un administateur ou un professeur ou un employé de la scolarité!

    mais le code que j'ai posté n'arrivé pas à le faire il n'ya aucune reactivité!
    je voudrais des technique ou des conseil pour le faire!
    merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      21 mars 2011 à 3:39:47

      Bonjour,

      function ChargerFormulaire(){
      	var choix = document.getElementById("choix_profil");
      	var admin = document.getElementById("admin");
      	var prof = document.getElementById("prof");
      	var scol = document.getElementById("scolarite");
         if(choix.value()=="administrateur"){
      	   admin.display = "inline";
      	   prof.display = "none";
      	   scol.display = "none";
         }
         if(choix.value()=="prof") {
      	   admin.display = "none";
      	   prof.display = "inline";
      	   scol.display = "none";
         }
         
         if(choix.value()=="scolarite"){
      	   admin.display = "none";
      	   prof.display = "none";
      	   scol.display = "inline";
         }
      }
      
      window.onload = function() {
         document.getElementById("choix_profil").onChange() = function(){
      	ChargerFormulaire();  
      	return false;
         }
         document.getElementById("choix_profil").onClick() = function() {
      	   ChargerFormulaire();
      	   return false;
         }
      }
      


      IL'erreur à la ligne 29 aurait pu être trouvée avec un débuggeur (je crois :-° ). C'est pourquoi, je te conseille ce tuto qui te montrerait une façon pas mal plus rapide pour débogguer ton code que de le poster sur le sdz D'ailleurs, il y a peut-être une autre erreur dans ton code que je n'ai pas vue et qu'un débigueur ne te permettra pas de trouver :honte: .

      De plus, il est étrange que tu codes en tableau. Je respecte ton choix, mais je te conseille tout de même cet autre tuto.

      Désolé si tu me trouve dur, mais selon moi, mon rôle n'est pas de débugger ton code, mais de t'apprendre à le faire.

      Berseker59
      • Partager sur Facebook
      • Partager sur Twitter
        21 mars 2011 à 20:17:24

        merci de ton aide et de tes liens Geek Social. j'ai reussi à corriger les erreurs et ca marche maintenant! quant à tes critiques je les trouve nullement dure car elle m'ameneront à m'ameliorer et donc plus competitif . thanks my friend!
        • Partager sur Facebook
        • Partager sur Twitter

        javascript

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown