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 :

Ajouter des champs (input, textarea) dynamiques


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut Ajouter des champs (input, textarea) dynamiques
    Bonjour,

    Je reviens vers vous pour vous poser une question.

    J'aimerais faire un système où l'utilisateur pourra poster un contenu (son cours) avec des questions sous forme de chapitre.

    Actuellement, j'ai fait un système où un utilisateur peut poster le cours et les questions (comme il l'aura présenté) mais le problème est que j'enregistre le contenu du cours et les questions dans le même champs SQL (donc même table SQL). Ce qui va poser problème lors de la gestion des questions.

    Il serait mieux que je sépare le cours en lui-même et les questions dans deux tables différentes (cours et questions) ce qui permettra une meilleure gestion des questions. Je le sais, ce qui me pose problème est la question de la présentation.

    Ce qui me pose problème est :
    - comment faire une interface graphique pour gérer l'insertion des questions ? Avec plusieurs zones de texte (ça dépend du nombre) ? Actuellement, j'ai fait un système où l'utilisateur peut choisir le style pour les questions dans un éditeur TINYMCE (le même où l'utilisateur écrit son cours).
    - si j'enregistre le contenu du cours et les questions dans deux tables différentes, comment je gère leur affichage pour qu'elles se mettent au bon endroit (par rapport aux chapitres) ?

    En une phrase : comment séparer le contenu des cours (par rapport aux chapitres) et les questions tout en conservant une présentation adéquate (exemple : première question dans le premier chapitre, deux questions dans le second chapitre, cinq questions dans le troisième chapitre, etc…) ?

    Pour information, après chaque question je mettrai un champs texte pour pouvoir répondre…

    Si je rajoute un champs SQL dans lequel je mets le numéro du chapitre ça pourrait le faire non ? Mais même, comme l'utilisateur doit écrire son cours dans un éditeur TNYMCE comment récupérer les numéros des chapitres (pour information : la numérotation des chapitres se fait avec une fonction JAVASCRIPT). Après ça, il ne manquerait plus qu'à gérer l'insertion des questions…

    Sinon si je fait une requête SQL qui permet de rechercher une chaine de caractères dans un champs SQL. Actuellement les questions commencent par
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="exercice">
    et se terminent par .

    Est-ce qu'il est possible, judicieux pour faire ce que je veux, de faire une requête SQL (avec l'opérateur ) qui permettrait de trouver une chaine de caractères qui commence par
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="exercice">
    et se termine par dans un champs (avec comme type ) SQL ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il te faut un input standard pour saisir le numéro du chapitre en plus de ton input tinymce pour la saisie du contenu.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    C'est juste pour vous dire :

    Pour gérer les titres, sous-titre, etc..., j'ai fait une fonction JAVASCRIPT qui récupère chaque jusqu'à posté par l'utilisateur (c'est pour cela que j'ai ajouté un système dans l'éditeur TINYMCE) et fait une numérotation automatique (ce n'est pas l'utilisateur qui s'en occupe).

    L'utilisateur écrit en l'état actuel son cours en intégralité uniquement dans l'éditeur TINYMCE.
    Pour les titres, sous-titres, etc... : actuellement, ça fait jusqu'à
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <h6>Sous, sous, sous, sous, sous, sous titre</h6>
    .
    Pour les exercices : actuellement, ça fait
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="exercice"><p>Questions/Exercices</p></div>
    .

    Le mieux, ce serait qu'il écrive l'intégralité de son cours (avec les Questions/Exercices) dans le même éditeur TINYMCE (comme maintenant) mais que le contenu de son cours s'enregistre dans la table cours et que ses questions/exercices s'enregistrent dans la table questions.

    Avec ce que tu me dit, je viens à dire qu'il faudrait faire un
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="" value="" />
    dans lequel on copierait les titres, sous-titres, etc... (puisque la numérotation se fait automatiquement en JAVASCRIPT) saisis dans l'éditeur TINYMCE. Ca voudrait dire qu'il faudrait faire un système d'ajout de champs texte caché à chaque titre, sous-titre, etc... ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    SOLUTION 1
    je vais partir dans une autre direction :
    => 3 TABLEs SQL : T_cours - T_chapitres - T_questions
    • T_cours (id_cours, titre_cours,...)
    • T_chapitres (id_chapitre, id_cours, titre_chapitre, contenu_chapitre,...)
    • T_questions (id_question, id_chapitre, titre_question, contenu_question reponse_question,...)


    1/ Création d'un cours
    -> enregistré dans T_cours (INSERT + on récupère l'id_cours créé)
    2/ "Ajouter un chapitre"
    -> enregistré dans T_chapitres (INSERT ... WHERE id_cours = 'id_cours_créé' + + on récupère l'id_chapitre créé)
    on crée alors un "bloc chapitre", avec :
    • un textareapour écrire le contenu "cours" du chapitre
    • un bouton: "Ajouter une question à ce chapitre"
    • un bouton: "Ajouter un nouveau chapitre"

    3/ "Ajouter une question à ce chapitre"
    -> enregistré dans T_questions (INSERT ... WHERE id_chapitre = 'id_chapitre_créé' + on récupère l'id_chapitre créé)
    -> Via Ajax/JavaScript, on insère :
    • "question :" + texteara,
    • "réponse :" + input,
    • + bouton : "Autre question ?"

    4/ "Ajouter un nouveau chapitre"
    -> Via Ajax/JavaScript, on insère :
    • un nouveau "bloc chapitre"
    N.B.C'est moins compliqué qu'il n'en a l'air.

    Citation Envoyé par vinceom92 Voir le message
    Le mieux, ce serait qu'il écrive l'intégralité de son cours (avec les Questions/Exercices) dans le même éditeur TINYMCE (comme maintenant)
    SOLUTION 2
    Si je poursuis ce que tu as déjà mis en place :
    => 2 TABLEs SQL : T_cours - T_questions
    • T_cours (id_cours, titre_cours,...)
    • T_questions (id_question, id_cours, id_chapitre, titre_question, question_question, reponse_question,...)

    • UN SEUL textarea "principal" (timymce)
    • 1 bouton "Ajouter une question"

    1/ Rédaction du "cours" dans le textarea, avec des balises titre <h1>, <h2>,...
    2/ Via JavaScript (grâce au script que tu as déjà réalisé) :
    • AJOUT automatique d'un identifiant à chaque balise titre : <h1 id="id_cours-xx">, <h2 id="id_cours-yy">,... (chaque id sera ici appelé "id_chapitre"

    3/ on positionne le curseur là où on veut insérer la question, puis on clique sur le bouton "Ajouter une question" :
    • récupération de la position du curseur dans le textarea,
    • récupération des id_cours + id_chapitre (celui dans lequel est le curseur !)
    • ouverture d'une popup "question-réponse",

    Dans la popup :
    • "Question : " + textarea(ou input)
    • "Réponse : " + textarea(ou input)
    • inputhidden "id_cours"
    • inputhidden "id_chapitre"
    • input"Valider"

    4/clic sur "Valider", via Ajax :
    • enregistrer la question dans la TABLE T_questions
    • insérer automatiquement DANS le textarea, à l'endroit où on a cliqué :
      JUSTE un code [[id_cours;id_chapitre=xxx;id_question=yyy]]
    C'est, grosso-modo, le principe utilisé dans Wordpress (par exemple), pour insérer une galerie-photos dans un article.
    Dernière modification par Invité ; 05/10/2013 à 12h35.

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    Ok, on va partir sur cette idée.

    Voici les trois :

    test_site_cours_v2 :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE IF NOT EXISTS `test_site_cours_v2` (
      `id_cours` int(11) NOT NULL AUTO_INCREMENT,
      `titre_cours` varchar(255) CHARACTER SET utf8 NOT NULL,
      PRIMARY KEY (`id_cours`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    test_site_chapitres_v2 :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE IF NOT EXISTS `test_site_chapitres_v2` (
      `id_chapitre` int(11) NOT NULL AUTO_INCREMENT,
      `id_cours` int(11) NOT NULL,
      `titre_chapitre` varchar(255) CHARACTER SET utf8 NOT NULL,
      `contenu_chapitre` longtext CHARACTER SET utf8 NOT NULL,
      PRIMARY KEY (`id_chapitre`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    test_site_questions_v2 :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE IF NOT EXISTS ` test_site_questions_v2` (
      `id_question` int(11) NOT NULL AUTO_INCREMENT,
      `id_chapitre` int(11) NOT NULL,
      `titre_question` varchar(255) CHARACTER SET utf8 NOT NULL,
      `contenu_question` varchar(255) CHARACTER SET utf8 NOT NULL,
      `reponse_question` varchar(255) CHARACTER SET utf8 NOT NULL,
      PRIMARY KEY (`id_question`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    Jusque là, est-ce que c'est bon ? Je pense que oui…

    En ce qui concerne les pages WEB, je vais repartir tout à zéro non ? Il faudra que tu m'aides !!!

  6. #6
    Invité
    Invité(e)
    Par défaut
    J'ai mis à jour mon message précédent avec SOLUTION 1 / SOLUTION 2

    La SOLUTION 1 me semble (à tort ?) plus facile à mettre en place.
    Elle permet au moins :
    • de séparer/identifier clairement les chapitres et les questions.
    • de faciliter la gestion des chapitres/questions (Ajout/modification/suppression)
    • de facilité la gestion de l'affichage 1 cours -> des chapitres -> des questions (pour chaque chapitre)

    Et elle consiste essentiellement à ajouter via Ajax de nouveaux input, textearea dans le formulaire initial.

    Du coup, ton script de "récupération des titres" n'est plus utile.

    LE FORMULAIRE
    1/ Rédiger un cours :
    ------------------------
    • Titre du cours : [input]
    • Intro du cours : [textarea] (éventuellement + autres champs utiles : "date de rédaction", "auteur", "publier le cours", ....)
    • [button] "Ajouter un chapitre"

    ------------------------

    2/ clic sur le button "Ajouter un chapitre" :
    via Ajax -> Ajout d'un "bloc chapitre"
    ------------------------
    • chapitre XX (numérotation automatique ? ou [input])
    • Contenu du chapitre : [textarea] (peut contenir des balises <h.>, on n'en tiendra pas compte)
    • [button] "Ajouter une question"

    ------------------------

    3/ clic sur le button "Ajouter une question" :
    via Ajax -> Ajout d'un "bloc question"
    ------------------------
    • question YY (numérotation automatique ? ou [input])
    • La question : [textarea] ou [input]
    • La réponse : [textarea] ou [input]
    • [button] "Ajouter une nouvelle question à ce chapitre"

    ------------------------

    4/ clic sur le button "Ajouter une nouvelle question à ce chapitre" :
    via Ajax -> Ajout d'un nouveau "bloc question"
    Dernière modification par Invité ; 05/10/2013 à 12h33.

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    J'ai mis à jour mon message précédent avec SOLUTION 1 / SOLUTION 2

    La SOLUTION 1 me semble (à tort ?) plus facile à mettre en place.
    Elle permet au moins :
    • de séparer/identifier clairement les chapitres et les questions.
    • de faciliter la gestion des chapitres/questions (Ajout/modification/suppression)
    • de facilité la gestion de l'affichage 1 cours -> des chapitres -> des questions (pour chaque chapitre)

    Et elle consiste essentiellement à ajouter via Ajax de nouveaux input, textearea dans le formulaire initial.

    Du coup, ton script de "récupération des titres" n'est plus utile.
    J'ai fait une nouvelle page où je vais faire la nouvelle version.

    J'ai fait la première étape. voici le code en intégralité de cette page :
    Code html : 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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <form action="" method="post">
      <center>
        <b>Poster un Cours/TP</b> <br />
        <u>Matière :</u>
        <select name="matieres">
          <?php
    // Variables de session - DEBUT
    $query_recuperation_identifiant_connecte=$_SESSION['id_utilisateur'];
    // Variables de session - FIN
    $matiere = "
    SELECT matiereenseignee_utilisateur
    FROM test_site_utilisateur
    WHERE id_utilisateur='$query_recuperation_identifiant_connecte'"; 
    $result = mysql_query($matiere)
    or die("Erreur sur la requête SQL concernant la matière du professeur.");
    echo '<option value="">Choisissez votre matière.</option>';
    while ($row=mysql_fetch_array($result)) // mysql_fetch_array = Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
    { 
     echo '<option value="'.$row['0'].'">'.$row['0'].'</option>';
    }  
    ?>
        </select>
        <br />
        <u>Classe :</u>
        <select name="classes">
          <?php
    $classes = "
    SELECT classe_utilisateur
    FROM test_site_utilisateur,  test_site_classe
    WHERE classe_utilisateur=classe_nom"; 
    $result = mysql_query($classes)
    or die("Erreur sur la requête SQL concernant les classes.");
    echo '<option value="">Choisissez une de vos classes.</option>';
    while ($row=mysql_fetch_array($result)) // mysql_fetch_array = Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
    { 
     echo '<option value="'.$row['0'].'">'.$row['0'].'</option>';
    } ?>
        </select>
        <table width="1122" border="1">
          <tr>
            <td>Date de publication</td>
            <td><input type="text" name="date_publication_tp" size="200" value='<?php $jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");$mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");$dateDuJour = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y"); echo $dateDuJour;?>'/></td>
          </tr>
            <td>Date de clôture des validations de ce Cours/TP (Pas obligatoire)</td>
            <td><input type="date" name="date_cloture_validation_cours_tp" /></td>
          </tr>
          <tr>
            <td>Titre</td>
            <td><input name="titre_cours_tp" type="text" size="200" /></td>
          </tr>
          <tr>
            <td>Nom du professeur/formateur</td>
            <td><input name="auteur_cours" type="text" size="200" value="<?php if(isset($_SESSION['pseudo_utilisateur'])) {echo $_SESSION['pseudo_utilisateur'];}?>"/></td>
          </tr>
          <tr>
            <td width="400"><input type="submit" name="ajout_chapitre_cours_tp" value="Ajouter un chapitre ?" /></td>
            <td width="300" align="right"><input type="reset" value="Effacer" /></td>
          </tr>
        </table>
      </center>
    </form>
    Est-ce que c'est bon ?

    Si oui, passons à la deuxième étape : comment faire apparaitre en AJAX un "bloc chapitre" quand l'utilisateur clique sur le bouton de soumission "Ajouter un chapitre" ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <table width="1122" border="1">
    NON ! Pas de <table> !
    Il est préférable d'utiliser des <div>, en leur mettant des identifiants !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" name="ajout_chapitre_cours_tp" value="Ajouter un chapitre ?" />
    re-NON !

    Il faut un simple lien <a> ou un <input type="button"...>.
    Au clic, on appelle une fonction JavaScript d'Ajout de "bloc chapitre"
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:void(0);" onclick="Ajout_block_chapitre();">Ajouter un chapitre ?</a>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" onclick="Ajout_block_chapitre();" value="ajouter un champ"/>
    Fais une recherche => "javascript ajout dynamique input" ou "javascript formulaire dynamique"
    Dernière modification par Invité ; 05/10/2013 à 14h04.

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Voici le nouveau code :
    Code html : 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
    42
    43
    44
    45
    46
    47
    48
    <form action="" method="post">
      <b>Poster un Cours/TP</b> <br />
      <u>Matière :</u>
      <select name="matieres">
        <?php
    // Variables de session - DEBUT
    $query_recuperation_identifiant_connecte=$_SESSION['id_utilisateur'];
    // Variables de session - FIN
    $matiere = "SELECT matiereenseignee_utilisateur
    FROM test_site_utilisateur
    WHERE id_utilisateur='$query_recuperation_identifiant_connecte'"; 
    $result = mysql_query($matiere)
    or die("Erreur sur la requête SQL concernant la matière du professeur.");
    echo '<option value="">Choisissez votre matière.</option>';
    while ($row=mysql_fetch_array($result)) // mysql_fetch_array = Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
    { 
     echo '<option value="'.$row['0'].'">'.$row['0'].'</option>';
    }  
    ?>
      </select>
      <br />
      <u>Classe :</u>
      <select name="classes">
        <?php
    $classes = "SELECT classe_utilisateur
    FROM test_site_utilisateur,  test_site_classe
    WHERE classe_utilisateur=classe_nom"; 
    $result = mysql_query($classes)
    or die("Erreur sur la requête SQL concernant les classes.");
    echo '<option value="">Choisissez une de vos classes.</option>';
    while ($row=mysql_fetch_array($result)) // mysql_fetch_array = Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
    { 
     echo '<option value="'.$row['0'].'">'.$row['0'].'</option>';
    } ?>
      </select>
      <br />Date de publication
      <input type="text" name="date_publication_tp" size="200" value='<?php $jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");$mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");$dateDuJour = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y"); echo $dateDuJour;?>'/>
      <br />
      Date de clôture des validations de ce Cours/TP (Pas obligatoire)
      <input type="date" name="date_cloture_validation_cours_tp" />
      <br />
      Titre
      <input name="titre_cours_tp" type="text" size="200" />
      <br />Nom du professeur/formateur
      <input name="auteur_cours" type="text" size="200" value="<?php if(isset($_SESSION['pseudo_utilisateur'])) {echo $_SESSION['pseudo_utilisateur'];}?>"/>
      <a href="javascript:void(0);" onclick="Ajout_block_chapitre();">Ajouter un chapitre ?</a>
      <input type="reset" value="Effacer" />
    </form>

    Voici le bloc pour ajouter un chapitre :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div id="chapitre" style="display:none;"><b>Ajouter un chapitre</b><br /><form action="" />Titre du chapitre : <input type="text" name="titre_chapitre" /><br />Contenu du chapitre : <input type="text" name="contenu_chapitre" /></form></div>

    Voici la fonction JAVASCRIPT :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script type="text/javascript">
        function Ajout_block_chapitre()
        {
    	document.getElementById("chapitre").style.display="block";
        }
    </script>

    Est-ce que ça va ?

  10. #10
    Invité
    Invité(e)
    Par défaut
    Si tu te contentes d'afficher/masquer des <div> EXISTANTE, ça ne va pas le faire...
    Autant les afficher directement.

    NON.
    Le principe est de CREER le div et les label / input / textarea DYNAMIQUEMENT via JavaScript.

    Je t'ai dit de faire une recherche. L'as-tu faite ? J'en doute...
    Voici un lien parmi d'autres.

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Voici la fonction JAVASCRIPT :
    Code javascript : 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
     
    function ajout(element){
          var formulaire = window.document.formulaire_poster_cours_tp;
          // On clone le bouton d'ajout
          var ajout = element.cloneNode(true);
          // Crée un nouvel élément de type "input"
          var champ = document.createElement("input");
          // Les valeurs encodée dans le formulaire seront stockées dans un tableau
          champ.name = "champs[]";
          champ.type = "text";
     
          var sup = document.createElement("input");
          sup.value = "supprimer un champ";
          sup.type = "button";
          // Ajout de l'événement onclick
          sup.onclick = function onclick(event)
             {suppression(this);};
     
          // On crée un nouvel élément de type "p" et on insère le champ l'intérieur.
          var bloc = document.createElement("p");
          bloc.appendChild(champ);
          formulaire.insertBefore(ajout, element);
          formulaire.insertBefore(sup, element);
          formulaire.insertBefore(bloc, element);
       }
     
       function suppression(element){
       var formulaire = window.document.formulaire_poster_cours_tp;
     
       // Supprime le bouton d'ajout
       formulaire.removeChild(element.previousSibling);
       // Supprime le champ
       formulaire.removeChild(element.nextSibling);
       // Supprime le bouton de suppression
       formulaire.removeChild(element);
    }

    Voici le formulaire :
    Code html : 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
    42
    43
    44
    45
    46
     
    <form action="" method="post" name="formulaire_poster_cours_tp" id="formulaire_poster_cours_tp">
      <b>Poster un Cours/TP</b> <br />
      <u>Matière :</u>
      <select name="matieres">
        <?php
    // Variables de session - DEBUT
    $query_recuperation_identifiant_connecte=$_SESSION['id_utilisateur'];
    // Variables de session - FIN
    $matiere = "SELECT matiereenseignee_utilisateur FROM test_site_utilisateur WHERE id_utilisateur='$query_recuperation_identifiant_connecte'"; 
    $result = mysql_query($matiere) or die("Erreur sur la requête SQL concernant la matière du professeur.");
    echo '<option value="">Choisissez votre matière.</option>';
    while ($row=mysql_fetch_array($result)) // mysql_fetch_array = Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
    { 
     echo '<option value="'.$row['0'].'">'.$row['0'].'</option>';
    }  
    ?>
      </select>
      <br />
      <u>Classe :</u>
      <select name="classes">
        <?php
              // A modifier
    $classes = "SELECT classe_utilisateur FROM test_site_utilisateur,  test_site_classe WHERE classe_utilisateur=classe_nom"; 
    $result = mysql_query($classes) or die("Erreur sur la requête SQL concernant les classes.");
    echo '<option value="">Choisissez une de vos classes.</option>';
    while ($row=mysql_fetch_array($result)) // mysql_fetch_array = Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
    { 
     echo '<option value="'.$row['0'].'">'.$row['0'].'</option>';
    } ?>
      </select>
      <br />
      Date de publication
      <input type="text" name="date_publication_tp" size="200" value='<?php $jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");$mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");$dateDuJour = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y"); echo $dateDuJour;?>'/>
      <br />
      Date de clôture des validations de ce Cours/TP (Pas obligatoire)
      <input type="date" name="date_cloture_validation_cours_tp" />
      <br />
      Titre
      <input name="titre_cours_tp" type="text" size="200" />
      <br />
      Nom du professeur/formateur
      <input name="auteur_cours" type="text" size="200" value="<?php if(isset($_SESSION['pseudo_utilisateur'])) {echo $_SESSION['pseudo_utilisateur'];}?>"/>
      <input type="button" onclick="ajout(this);" value="Ajouter un chapitre"/>
      <input type="reset" value="Effacer" />
    </form>

    Il faudrait lors de l'ajout d'une zone de texte, ajouter deux textes : Titre du chapitre, Contenu du chapitre et ajouter une autre zone de texte pour pouvoir saisir le contenu du chapitre, la nommer pour pouvoir l'utiliser lors du traitement php.

  12. #12
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Le javascript est le langage que j'utilise le moins, je fais des recherches... Sur les formulaires dynamique avec la gestion du name pour pouvoir ensuite traiter les champs en PHP...

    J'ai trouvé ces liens :
    - http://www.saaraan.com/2013/03/addre...ly-with-jquery
    - http://www.icietla.net/plugin-jquery...laire-clonable

  13. #13
    Invité
    Invité(e)
    Par défaut
    Oui, notamment le 2ème lien : Plugin jQuery : Clonable
    Ca peut être un moyen rapide d'arriver à tes fins, sans avoir trop de connaissance en jQuery.

    Par contre, cette discussion n'a plus rien à voir avec le forum PHP.

    Je vais demander à ce qu'elle soit redirigée dans le forum JavaScript ou jQuery.

  14. #14
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Dois-je faire quelque chose pour déplacer cette discussion ?

    Sinon, je pense que j'ai réussi à insérer le plugin "Clonage".

    Voici les codes :
    dans le head :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script type="text/javascript" src="../ressources_site/javascript/jquery.min.js"></script>
    <link href="../ressources_site/css/jquery.icietla.clonable.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="../ressources_site/javascript/jquery.icietla.clonable.js"></script>
    <script type="text/javascript">
    jQuery(document).ready(function(){
    	jQuery(".ajout_chapitre").clonable();
    });
    </script>

    dans le body, voici l'intégralité du formulaire :
    Code html : 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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <form action="" method="post">
      <b>Poster un Cours/TP</b> <br />
      <u>Matière :</u>
      <select name="matieres">
        <?php
    // Variables de session - DEBUT
    $query_recuperation_identifiant_connecte=$_SESSION['id_utilisateur'];
    // Variables de session - FIN
    $matiere = "
    SELECT matiereenseignee_utilisateur
    FROM test_site_utilisateur
    WHERE id_utilisateur='$query_recuperation_identifiant_connecte'"; 
    $result = mysql_query($matiere)
    or die("Erreur sur la requête SQL concernant la matière du professeur.");
    echo '<option value="">Choisissez votre matière.</option>';
    while ($row=mysql_fetch_array($result)) // mysql_fetch_array = Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
    { 
     echo '<option value="'.$row['0'].'">'.$row['0'].'</option>';
    }  
    ?>
      </select>
      <br />
      <u>Classe :</u>
      <select name="classes">
        <?php
    $classes = "
    SELECT classe_utilisateur
    FROM test_site_utilisateur,  test_site_classe
    WHERE classe_utilisateur=classe_nom"; 
    $result = mysql_query($classes)
    or die("Erreur sur la requête SQL concernant les classes.");
    echo '<option value="">Choisissez une de vos classes.</option>';
    while ($row=mysql_fetch_array($result)) // mysql_fetch_array = Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
    { 
     echo '<option value="'.$row['0'].'">'.$row['0'].'</option>';
    } ?>
      </select>
      <br />
      Date de publication
      <input type="text" name="date_publication_tp" size="200" value='<?php $jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");$mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");$dateDuJour = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y"); echo $dateDuJour;?>'/>
      <br />
      Date de clôture des validations de ce Cours/TP (Pas obligatoire)
      <input type="date" name="date_cloture_validation_cours_tp" />
      <br />
      Titre
      <input name="titre_cours_tp" type="text" size="200" />
      <br />
      Nom du professeur/formateur
      <input name="auteur_cours" type="text" size="200" value="<?php if(isset($_SESSION['pseudo_utilisateur'])) {echo $_SESSION['pseudo_utilisateur'];}?>"/>
      <div class="ajout_chapitre">
        <label>Titre du chapitre :</label>
        <input type="text"  />
        <br />
        Contenu du chapitre :
        <textarea id="" rows="" cols=""></textarea>
        <label ><br />
          Question(s) du chapitre:</label>
        <textarea id="" rows="" cols=""></textarea>
      </div>
    </form>

    Ce qui me parait bizarre c'est quand je regarde le code source de la page si entre temps j'insère les deux zones de texte, il n'y a pas de différence.
    Est-ce que c'est normal ?

  15. #15
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    Bien que j'ai des doutes concernant l'ajout des zones de texte, aucun changement s'effectue dans le code source de la page, j'ai commencé le traitement PHP.

    On est bien d'accord, je suis sur la page qui servira à poster des cours.

    J'ai fait deux requêtes SQL pour récupérer les identifiants d'un cours et d'un chapitre :
    - récupérer l'identifiant du cours créé :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT id_cours
    FROM test_site_cours_v2
    WHERE id_cours=)
    . Je ne suis pas sûr que cette requête SQL doit être faite sur cette page puisque comment je fais pour récupérer l'identifiant d'un cours pas encore posté ?!
    - récupérer l'identifiant du chapitre crée du cours
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT id_chapitre
    FROM test_site_chapitres_v2
    WHERE id_chapitre=)
    . Je ne suis pas sûr que cette requête SQL doit être faite sur cette page puisque comment je fais pour récupérer l'identifiant d'un chapitre pas encore posté ?!

    J'ai fait trois requêtes SQL pour insérer un cours, un chapitre, une question.
    - insertion d'un cours :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO  test_site_cours_v2 (id_cours,titre_cours)
    VALUES ('idducoursafaire','$titre_cours_tp')
    . Il faut que j'ai l'identifiant du cours.
    - insertion d'un chapitre :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO  test_site_chapitres_v2 (id_cours,titre_chapitre,contenu_chapitre) 
    VALUES ('idducoursafaire','$titre_chapitre','$contenu_chapitre' WHERE id_cours = '$query_selection_identifiant_cours_tp' )
    . $query_selection_identifiant_cours_tp=
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT id_cours 
    FROM test_site_cours_v2
    WHERE id_cours=)
    .
    - insertion des questions :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO test_site_questions_v2 (id_chapitre,titre_question,contenu_question)
    VALUES ('idduchapitreafaire','afaire','$questions_chapitre'
    WHERE id_chapitre = '$query_selection_identifiant_chapitre')
    avec ce que tu m'as dit :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE id_chapitre = '$query_selection_identifiant_chapitre'
    .


    Voici les des trois tables :
    test_site_chapitres_v2 :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE IF NOT EXISTS `test_site_chapitres_v2` (
      `id_chapitre` int(11) NOT NULL AUTO_INCREMENT,
      `id_cours` int(11) NOT NULL,
      `titre_chapitre` varchar(255) CHARACTER SET utf8 NOT NULL,
      `contenu_chapitre` longtext CHARACTER SET utf8 NOT NULL,
      PRIMARY KEY (`id_chapitre`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    test_site_cours_v2 :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE IF NOT EXISTS `test_site_cours_v2` (
      `id_cours` int(11) NOT NULL AUTO_INCREMENT,
      `titre_cours` varchar(255) CHARACTER SET utf8 NOT NULL,
      PRIMARY KEY (`id_cours`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    test_site_questions_v2 :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE IF NOT EXISTS ` test_site_questions_v2` (
      `id_question` int(11) NOT NULL AUTO_INCREMENT,
      `id_chapitre` int(11) NOT NULL,
      `titre_question` varchar(255) CHARACTER SET utf8 NOT NULL,
      `contenu_question` varchar(255) CHARACTER SET utf8 NOT NULL,
      `reponse_question` varchar(255) CHARACTER SET utf8 NOT NULL,
      PRIMARY KEY (`id_question`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    Je sais qu'il y a beaucoup de problèmes mais c'est pour te dire où j'en suis. Je suis même pas sûr que le clonage fonctionne avec les id.

    PS : A mon avis :
    - les deux requêtes SQL qui permettent de récupérer l'identifiant du cours et de récupérer l'identifiant d'un chapitre ne sont pas à mettre sur la page qui servira à poster des cours mais sur la page qui affichera le cours et les questions (avec les zones de textes correspondantes, le bouton qui permettra de valider la réponse de l'élève), non ?
    - les trois requêtes SQL qui permettent d'insérer des cours,d'insérer des chapitres et d'insérer des questions sont au bon endroit, c'est-à-dire sur la page qui servira à poster un cours, non ? Elles nécessitent toutefois des modifications, surtout pour l'identifiant du cours et l'identifiant du chapitre mais aussi le titre des questions.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par vinceom92 Voir le message
    ..., aucun changement s'effectue dans le code source de la page,
    C'est tout-à-fait normal, puisqu'il s'agit de modifications dynamique.
    Le code source affiché ("ctrl" + "U" ne montre que le code initial).

    Le code modifié est visible dans Firebug (sous Firefox) :
    clic-droit puis "Inspecter élément avec Firbug".

    Pour Chrome : clic-droit puis "Inspecter l'élément".

  17. #17
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    C'est tout-à-fait normal, puisqu'il s'agit de modifications dynamique.
    Le code source affiché ("ctrl" + "U" ne montre que le code initial).

    Le code modifié est visible dans Firebug (sous Firefox) :
    clic-droit puis "Inspecter élément avec Firbug".

    Pour Chrome : clic-droit puis "Inspecter l'élément".
    Je suis sous Chrome, quand je fais "Procéder à l'inspection de l'élément", il ajoute/supprime
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="ajout_chapitre clonable" data-clonable-id="1" style="display: block;">...</div>
    .

    En ce qui concerne le traitement PHP, comment faire pour traiter les éléments dynamiques ? En ce qui concerne les requêtes SQL (le message de ce matin), est-ce qu'on est d'accord ? Comment faire pour récupérer les identifiants d'un cours et d'un chapitre pour pouvoir les utiliser dans les requêtes SQL ?
    J'imagine que pour récupérer les identifiants d'un cours et d'un chapitre, il faut faire une requête SQL sur la page qui affiche le cours qui sélectionnera l'identifiant du cours ou du chapitre, non ?

  18. #18
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Je te mets les requêtes SQL.

    Pour l'instant, je n'ai rien changé sur la page qui liste les cours. Est-ce qu'il faut faire des modifications sur cette page ?

    Sur la page qui permet de poster des Cours/TP :
    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
        // Insertion du Cours/TP dans la base de données - Deuxième version
    	$query_insertion_cours_tp=mysql_query("
    INSERT INTO  test_site_cours_v2 (titre_cours)
    VALUES ('$titre_cours_tp')")
    or die('Erreur lors de l\'insertion d\'un Cours/TP'.mysql_error()); // Envoie une requête à un serveur MySQL
        // Insertion des chapitres du Cours/TP dans la base de données - Deuxième version
    	$query_insertion_chapitre_cours_tp=mysql_query("
    INSERT INTO  test_site_chapitres_v2 (titre_chapitre,contenu_chapitre)
    VALUES ('$titre_chapitre','$contenu_chapitre'
    WHERE id_cours = '$query_selection_identifiant_cours_tp' )")
    or die('Erreur lors de l\'insertion d\'un chapitre du Cours/TP'.mysql_error()); // Envoie une requête à un serveur MySQL, Récupération de l'identifiant du chapitre créé
        // Insertion des questions du Cours/TP dans la base de données - Deuxième version
    	$query_insertion_question_cours_tp=mysql_query("
    INSERT INTO test_site_questions_v2 (contenu_question)
    VALUES ('$questions_chapitre')
    WHERE t1.id_chapitre
    IN (
    SELECT t1.id_chapitre
    FROM test_site_chapitres_v2 t1, test_site_cours_v2 t2
    WHERE t1.id_cours=t2.id_cours'))")
    or die('Erreur lors de l\'insertion d\'un chapitre du Cours/TP'.mysql_error()); // Envoie une requête à un serveur MySQL, Récupération de l'identifiant du chapitre crée
    J'ai l'erreur suivante :
    Erreur lors de l'insertion d'un chapitre du Cours/TPYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id_cours = '' )' at line 1.

    Sur la page qui affiche un Cours/TP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        // Récupération de l'identifiant du Cours/TP créé dans la base de données - Deuxième version
    	$query_selection_identifiant_cours_tp=mysql_query("
    SELECT t2.id_cours
    FROM test_site_chapitres_v2 t1, test_site_cours_v2 t2
    WHERE t1.id_cours=t2.id_cours")
    or die('Erreur lors de la sélection de l\'identifiant du Cours/TP'.mysql_error()); // Envoie une requête à un serveur MySQL
        // Récupération de l'identifiant du chapitre du Cours/TP dans la base de données - Deuxième version
    	$query_selection_identifiant_chapitre=mysql_query("
    SELECT t1.id_chapitre
    FROM test_site_chapitres_v2 t1, test_site_cours_v2 t2
    WHERE t1.id_cours=t2.id_cours")
    or die('Erreur lors de la sélection de l\'identifiant d\'un chapitre d\'un Cours/TP'.mysql_error()); // Envoie une requête à un serveur MySQL
    Je n'ai pas fait la requête SQL qui permet de récupérer les questions. Comme tu peux le voir, j'ai fait des conditions que sur les identifiants.

    Qu'en penses-tu ? Je suis sûr qu'il y a des erreurs car ça ne fonctionne pas.

    A noter que sur la page qui permet de poster un Cours/TP, quand je clique sur le bouton pour ajouter un chapitre, un champs texte apparait (pour le titre du chapitre) dans lequel je peux écrire et deux éditeurs TINYMCE pour écrire le contenu du chapitre et les questions du chapitre... Quand je clique sur un éditeur TINYMCE pour écrire, il ne veut pas. En une phrase, je ne peux pas écrire dans les éditeurs TINYMCE clonés...

  19. #19
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Points : 238
    Points
    238
    Par défaut
    Bonjour,

    à ta place je n'utiliserait aucun éditeur externe et je ne ferais pas confiance à l'utilisateur. il peut oublier de mettre un titre ou de formater convenablement son entrée de données.

    Le mieux est de lui créer :

    une une interface pour la rubrique cours. qui contient titre (input) et description (text area)
    Une autre interface pour la rubrique chapitres qui contient cours (select box)
    titre chapitre (input), description_chapitre (text_area)

    Une autre interface pour les question qui contient : cours (select), chapitre (select qui dépend du cours selectionné, en utilisant ajax) puis titre_question puis description (text area)

    après s'il y'a des réponses à gérer tu peux ajouter la rubrique réponses : cours (select), chapitre (select dépendant du cours), question (select dependant du chapitre) et puis réponse et statut_réponse (Vrai/Faux).

  20. #20
    Invité
    Invité(e)
    Par défaut
    La discussion a été déplacée depuis le forum PHP vers le forum JavaScript.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/09/2009, 12h03
  2. Ajouter des champs dynamiquement
    Par lemirandais dans le forum jQuery
    Réponses: 2
    Dernier message: 25/02/2009, 13h41
  3. [DOM] Ajouter dynamiquement des champs inputs
    Par bobic dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/05/2008, 13h10
  4. Inserer dynamiquement des champs input avec attribut
    Par titou250 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/01/2007, 09h44
  5. Réponses: 1
    Dernier message: 14/08/2006, 09h41

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