IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

créer un formulaire dynamiquement


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut créer un formulaire dynamiquement
    Bonjour j'arrive à créer un menu de manière static avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    <div id="dg1">	
     
    	<div id="divmenu1">
     
    		<ul id="menu" >
    		<li><a href="" target="_self">Patients</a></li>
    		<li><a href="" target="_self">Examens</a></li>
    		<li><a href="" target="_self">Series</a></li>
    		<li><a href="" target="_self">Images</a></li>
     
    	</ul>
    	</div>
    	<div id='fleche1'onclick="mng();"><img id='gm2'src='aller.gif' style='margin-left:2px'>
    	</div>
    	</div>
    mais lorsque j'essaye de le faire dynamiquement avec le js ça ne marche plus voici le code js et l'appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    // --- Categories du Menu ---
     categorie = new Array();
      // -- [Patients]
      categorie[0] = new Array();
       categorie[0][0] = "Patients";
       categorie[0][1] = "";
       categorie[0][2] = "_blank";
      // -- [Examens]
      categorie[1] = new Array();
       categorie[1][0] = "Examens";
       categorie[1][1] = "http://liencatégorie2/";
       categorie[1][2] = "_blank";
      // -- [Series]
      categorie[2] = new Array();
       categorie[2][0] = "Series";
       categorie[2][1] = "";
       categorie[2][2] = "_self";
      // -- [Images]
       categorie[3] = new Array();
       categorie[3][0] = "Images";
       categorie[3][1] = "http://liencatégorie4/";
       categorie[3][2] = "_blank";
    function afficheMenu()
    {   
        document.write("<div id='dg1'>");	
     
    		document.write("<div id='divmenu1'>");
     
    			document.write("<ul id='menu' >");
    			 for (var i=0; i<categorie.length; i++) {
    				document.write("<li><a href='' target='_self'>"+categorie[i][0]+"</a></li>");
     
    				}
     
    			document.write("</ul>");
    		document.write("</div>");
    			document.write("<div id='fleche1'onclick='mng();'><img id='gm2'src='aller.gif' style='margin-left:2px'></div>);
    	document.write("</div>");	
     
     
    }
    appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body bgcolor='black'  onload="afficheMenu()";
    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    N'utilises plus ce document.write. Pour créer un élément dynamiquement, utilises DOM.

    A+.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    merci, j'accroche plus à la proposition de andry.aime mais je me demande s'il est possible d'ajouter un noeud à un endroit précis de mon menu, exemple si je veux une rubrique Medécin entre Patient et examens comment préciser la positions du nouveau noeud?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    <div id="dg1">	
     
    	<div id="divmenu1">
     
    		<ul id="menu" >
    		<li><a href="" target="_self">Patients</a></li>
    		<li><a href="" target="_self">Examens</a></li>
    		<li><a href="" target="_self">Series</a></li>
    		<li><a href="" target="_self">Images</a></li>
     
    	</ul>
    	</div>
    	<div id='fleche1'onclick="mng();"><img id='gm2'src='aller.gif' style='margin-left:2px'>
    	</div>
    	</div>

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    pour insérer mon nouvel élément dans le menu sans pour l'instant m'occuper de la position j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
      function examens(nbExam)
      {
     
      	  // recherche du noeud parent
    		var ulParent = document.getElementById('menu');
    	 for(var i=0;i<nbExam;i++)
    	 {
     
    		// création des nouveaux noeuds
    		var nouveauLi = document.createElement('li');
    		var nouveauA = document.createElement('a');
    		var nouveauLabel = document.createElement('label');
     
     
    		// paramétrage des nouveaux noeuds
    		nouveauLabel.appendChild(document.createTextNode("examens "+i));
    		nouveauLabel.htmlFor = 'nouveauId'+i;
     
            // raccord des noeuds
    		nouveauA.appendChild(nouveauLabel);
    		nouveauLi.appendChild(nouveauA);
    		ulParent.appendChild(nouveauLi);
     
     
     
     
    	 }
      }
    appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body bgcolor='black'  onload="examens(2);">
    mais rien n'est rajouté dans mon menu. j'ai essayé de mettre 2 entre guillemets mais rien n'y fait et je sais que c'est pas parce que je n'ai pas mit de href dans la balise a que ça ne marche pas. Du coup je ne vois pas ce qui cloche

  7. #7
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut Magie Magie, et vos idées ont du génie ♪
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <body bgcolor='green'  onload="examens(2);">

  8. #8
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    en fait ça marchait je m'étais juste trompé dans l'ordonnancement lors de l'appel de mes fonction dans onload.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Créer un formulaire dynamique
    Par Vetchostar dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/01/2010, 06h58
  2. Comment créer un formulaire dynamique en java
    Par maarten dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 16/08/2009, 21h30
  3. [DOM] Créer un formulaire dynamique
    Par greg13 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 17/04/2008, 15h25
  4. [WebForms]créer une formulaire dynamiquement
    Par lamiae18 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 16/01/2007, 18h43
  5. Créer un formulaire dynamique
    Par pomgnon dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/03/2006, 14h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo