Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC jQuery

Dynamisez vos développements JavaScript avec jQuery

    6 mars 2017 à 20:02:07

    merci pour ta réponse sylvieMassey :)

     pour la reactivation as-tu utilisé attr, removeAttr et disabled?

    cela pourra peut-être t'inspirer mais c'est sûr que plus de monde pourra t'aider si tu poste la partie du code qui te pose problème

    -
    Edité par lunita13 6 mars 2017 à 21:26:44

    • Partager sur Facebook
    • Partager sur Twitter
      7 mars 2017 à 8:15:17

      Bonjour,

      comme je ne sais pas mettre ici du code de façon conviviale , je vous donne le lien de git Hub

      https://github.com/SylvieMa/apprentissage-de-jQuery/blob/master/boutonActif.html

      Mon problème: le bouton du bas (qui doit être désactivé/réactivé à la demande) commence bien de façon actif mais quand je l'ai désactivé, il ne peut plus être réactivé.

      De plus le bouton1 censé le réactiver, ne fait que le désactiver.

      Un grand merci pour votre aide, je bute depuis un petit moment...

      Bonne journée à tous!

      • Partager sur Facebook
      • Partager sur Twitter
      SylvieM
        7 mars 2017 à 20:09:06

        Sylvie Massey a écrit:

        Bonjour,

        comme je ne sais pas mettre ici du code de façon conviviale , je vous donne le lien de git Hub

        https://github.com/SylvieMa/apprentissage-de-jQuery/blob/master/boutonActif.html

        Mon problème: le bouton du bas (qui doit être désactivé/réactivé à la demande) commence bien de façon actif mais quand je l'ai désactivé, il ne peut plus être réactivé.

        De plus le bouton1 censé le réactiver, ne fait que le désactiver.

        Un grand merci pour votre aide, je bute depuis un petit moment...

        Bonne journée à tous!

        Bonjour,

        $('#bouton3').attr('disabled','disabled');
        
        $('#bouton3').removeAttr('disabled');


        Moi j'avais fait comme ça tout fonctionnait parfaitement, essai ça devrait être bon.

        Ps : quand tu fais un message les onglets du haut sur une ligne tu as "paragraphe" "Taille" "G" " I" " A" etc. avec ta souris va sur cette ligne, l'avant dernier bouton est la pour insérer du code, tu choisis d'abord le langage dans la liste déroulante puis tu colles ton code. ça donne ce que j'ai mis plus haut

        Bon Courage

        -
        Edité par Parad0xJ 7 mars 2017 à 20:25:49

        • Partager sur Facebook
        • Partager sur Twitter

        " Si vis pacem, para bellum "

          8 mars 2017 à 9:01:55

          Un grand, grand merci, Parad0xJ ! Ça marche! j'avais essayé beaucoup de choses mais pas cela...

          Merci aussi de m'avoir montré comment mettre du code dans mon message... Je voulais chercher sur le forum l'explication mais mon début de semaine a été haut en couleur et je n'ai pas eu le temps. Tu m'apportes la réponse sur un plateau !

          Bref, ma journée commence bien.

          Bonne journée à tous!

          • Partager sur Facebook
          • Partager sur Twitter
          SylvieM
            24 mars 2017 à 12:15:19

            Bonjour,

            Je viens sur le forum car j'ai des difficultés à réaliser l'activité 2 du MOOC. Je n'arrive pas à insérer des éléments dans le div #gauche de l'écran.

            //Création des nouveaux éléments
            
            var contenulabel = $('#entreelabel').val();
            
            $('#oklabel').on("click", function(){
              $('<span>'+contenulabel+'</span>').prependTo($('#gauche'));
              $('#reslabel').hide();
            });

            Quand je clique sur le bouton #oklabel, le formulaire reslabel disparaît comme il faut, mais son contenu n'apparaît pas dans la partie gauche. Pourtant je pense avoir raison en enregistrant le contenu dans une variable ?

            J'ai également essayé avec $('#gauche').prepend($('<span>'+contenulabel+'</span>')), ça ne fonctionne pas non plus. J'insère si dessous mon code au complet.

            <!DOCTYPE html>
            <html>
              <head>
                <meta charset="UTF-8">
                <style>
                  body {
                    margin: 0;
                  }
                  #gauche {
                    float: left;
                    width: 70%;
                    height: 1000px;
                    background-color: #EFECCA;
                  }
                  #droite {
                    background-color: #CEFFF8;
                    height: 1000px;
                    padding : 10px;
                    padding-left: 71%;
                  }
                </style>
              </head>
              <body>
            
                <div id="gauche">
                </div>
                
                <div id="droite">
                  Utilisez ces boutons pour créer votre formulaire<br><br>
                  <button id='label'>Label</button>
                  <button id='zone'>Zone de texte</button>
                  <button id='bouton'>Bouton</button>
            
                  <!--Création des spans-->
            
                   <span id="reslabel" class="formulaire">
                  <hr/>
                 <form>
                     <input type="text" id="entreelabel" max-length="25" placeholder="Nom du label" >
                     <button class='ok' id="oklabel">OK</button>
                 </form>
                </span>
            
                <span id="reszone" class="formulaire">
                  <hr/>
                  <form>
                      <input type="text" id="entreezone" max-length="25" placeholder="ID de la zone de texte" >
                      <button class='ok' id="okzone">OK</button>
                  </form>
                </span>
            
                <span id="resbouton" class="formulaire">
                  <hr/>
                  <form>
                     <input type="text" id="entreebouton" max-length="25" placeholder="Texte du bouton" >
                     <button class='ok' id="okbouton">OK</button>
                  </form>
                </span>
                </div>
            
            
            
               
            
            <script type="text/javascript" src="jquery.js"></script>
            
            <script type="text/javascript">
            $(function(){
            
            //Masquer les spans
            $('.formulaire').hide();
            
            //Afficher les spans
            $('#label').on("click", function(){
              $('#reslabel').show();
            });
            
            $('#zone').on("click", function(){
              $('#reszone').show();
            });
            
            $('#bouton').on("click", function(){
              $('#resbouton').show();
            });
            
            //Création des nouveaux éléments
            var contenulabel = $('#entreelabel').val();
            
            $('#oklabel').on("click", function(){
              $('<span>'+contenulabel+'</span>').prependTo($('#gauche'));
              $('#reslabel').hide();
            });
             
            
              
            });
            
            
            
            </script>
              </body>
            </html>

            Merci d'avance

            • Partager sur Facebook
            • Partager sur Twitter
              29 mars 2017 à 13:43:48

              Bonjour Virginie,

              je ne suis vraiment pas une spécialiste et ce TP m'avait donné du fil à retordre... Je te donne une ou des idées mais cela vaut peut-être peu de choses.

              D'abord, je suis étonnée que tu mette prepend et pas append car, quand cela marchera, tu insèreras tes nouveautés toujours au début et pas en descendant.

              D'autre part, tu as écris "J'ai également essayé avec $('#gauche').prepend($('<span>'+contenulabel+'</span>')), ça ne fonctionne pas non plus." Il me semble qu'il ne faut pas de $ après le prepend, c'est-à-dire $('#gauche').prepend('<span>'+contenulabel+'</span>')

              Ce n'est pas grand chose et, en plus, ton message date d'il y a qq jours, alors ma réponse est sans doute décalée. Mais peut-être cela t'aidera!

              Bonne journée

              • Partager sur Facebook
              • Partager sur Twitter
              SylvieM
                30 mars 2017 à 10:36:20

                Merci Sylvie pour ta réponse :)

                Je viens tout juste de trouver la réponse à ma question, mais ta remarque sur ma syntaxe m'a bien aidé.

                En réalité ce n'est pas ma fonction qui clochait mais mon code html : j'avais enveloppé mes formulaires dans une balise <form> en voulant trop bien faire. Sans, tout fonctionne.

                Voilà, une bonne semaine de perdue pour pas grand chose ! 

                • Partager sur Facebook
                • Partager sur Twitter
                  17 avril 2017 à 16:43:05

                  Bonjour à tous!

                  Je suis sur l'activité 1 qui me prend terriblement du temps. Le problème? J'arrive à tous insérer (label, input, boutton) à la partie gauche. Seul bémol je n'arrive pas à réitérer l'action, c'est-à-dire insérer une deuxième puis une troisième ligne comme demandé. Quelqu'un peut-il m'indiquer l'algo à suivre?

                  Merci d'avance.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    18 avril 2017 à 12:01:37

                    Bonjour Bam92,

                    Je suis actuellement dans le meme cas, le nom du label s'affiche bien dans la partie gauche mais quand je saisie un nouveau label il le remplace ce qui fait que je ne peux pas en ajouter plusieurs. 

                    As tu pu résoudre ton problème ?

                    Merci d'avance

                    • Partager sur Facebook
                    • Partager sur Twitter
                      18 avril 2017 à 12:48:07

                      sans votre code on ne peut pas vous aider!!!

                      • Partager sur Facebook
                      • Partager sur Twitter
                        18 avril 2017 à 18:31:00

                        Bonsoir à tous!

                        Voci le code jQuery

                        // Prevoir aussi le lien vers un CDN jQuery
                            $(function () {
                              $('#droite').append('<hr>');
                              // Keep buttons on variables
                              var button = $('button');
                              var button1 = $('button:eq(0)'); // Label (select button elt that has index 0)
                              var butotn2 = $('button:eq(1)'); // Zone de texte
                              var button3 = $('button:eq(2)'); // Bouton
                        
                              // Fonction to add Form
                              function addForm(label) {
                                $("hr").after("<form></form>");
                        
                                $("form").
                                append(label).
                                append("<input type='text' id='text'>").
                                append("<input type='button' value='OK' id='ok'>");
                              }
                        
                              // Handling label button
                              button1.click(function() {
                               $("form").innerHTML = "";
                                
                        
                                addForm("Texte du label");
                        
                                $("#ok").click(function () {
                                var name = $("input").val();
                        
                                $("#gauche").append("<span><label for='name'></span>");
                                $("label").text(name);
                        
                                $("form").remove();
                                //submit();
                        
                                console.log(name);
                                });
                              });
                        
                              butotn2.click(function () {
                                addForm("id de la zone de texte");
                        
                                $("#ok").click(function () {
                                //var name = $("input").val();
                        
                                $("span").append("<input type='text' id='nom'>");
                        
                                $("form").remove();  
                                
                                });
                              });
                        
                              button3.click(function () {
                                addForm("Texte du boutton");
                        
                                $("#ok").click(function () {
                                  var name = $("input").val();
                                  $("button").insertAfter("span");
                        
                                  $("#gauche button").text(name);
                        
                                  $("form").remove();
                                });
                              });
                        
                            });
                        



                        • Partager sur Facebook
                        • Partager sur Twitter
                          18 avril 2017 à 22:15:27

                          Bam92
                          Essaie de remplacer la ligne 30 par ce code :
                          $('#gauche').append("<span>" + name + "</span>");
                          • Partager sur Facebook
                          • Partager sur Twitter
                            19 avril 2017 à 0:07:50

                            au premier à bord, je ne comprend pas ce que vient faire le "for" à la ligne 30. Essayes le code d'Emma20

                            Sinon essayes de simplifier ton code comme ceci, ca pourras peut-être mieux t'éclairer:

                            déjà pour les trois boutons ce n'est pas la peine de mettre toutes ces variables, tu n'as qu'a mettre des id dans les balises button partie html.

                            ensuite partie jquery , tu peux directos commencer à écrire dans la fonction principale: $('#button1').click(function(){...}); ce sera le même shéma pour les deux autres boutons.

                            Si tu n'arrives toujours pas j'essayerai de t'aider d'avantage. Bon courage!!

                            -
                            Edité par lunita13 19 avril 2017 à 0:40:04

                            • Partager sur Facebook
                            • Partager sur Twitter
                              20 avril 2017 à 11:21:27

                              Bonjour à tous et merci pour vos contributions.

                              @Emma20: je ne vois vraiment pas un grand intérêt à cette démarche outre le fait que je peux gagner une ligne de moins.

                              @lunita13: En html, l'élément label est suivi de la propriété "for". Si j'ai qtocké ces boutons dans les variables c'est juste parce que je veux gagner en performance.

                              Le code marche très bien. Ce que je n'arrive pas à faire c'est de réitérer l'action pour en créer un deuxième élément du formulaire puis un troisième, etc.

                              Cdt,

                              Bam92

                              • Partager sur Facebook
                              • Partager sur Twitter
                                23 avril 2017 à 17:39:06

                                Salut, ce cours est toujours d'actualité j'ai l'impression, comfirmation ?

                                Hum et quelle est la version de JQuery qu'il faut télécharger actuelement ?

                                Merci et bonne journée

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  24 avril 2017 à 10:20:16

                                  Bonojur!

                                  A ce que je pense, c'est la toute dernière version dispo.

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    26 avril 2017 à 3:32:57

                                    Bonjour,

                                    j'ai commencé le cours de JQuery aujourd'hui(pour des besoins immédiats) et je dois dire que je suis perdu au premier abord. Pour commencer le lien de téléchargement est un petit peu bizarre du coup j'me suis tourné vers le cours Introduction à JQuery qui à mes yeux ne dit rien de spécial même pour un gros débutant comme moi.

                                    Cependant j'ai une remarque: cette ligne de code se trouvant dans le chapitre selectionnez des éléments

                                    $("li#premier + li")

                                    est-ce la spécificité JQuery ou c'est du pur CSS si c'est le dernier cas il y a une erreur puisque en CSS le code

                                    li+li

                                    selectionne tous les éléments li sauf le premier élément.

                                    Esperant être éclaircis merci

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    L'important ce n'est pas d'être grand mais c'est être à la hauteur
                                      26 avril 2017 à 9:59:09

                                      Bonjour!

                                      Le cours intro à jQuey est vraiment, pour moi bien sûr, une vraie intro pour un débutant.

                                      Par rapport au sélecteur, je ne vois pas de problème que tu évoques. Le premier élément est ici sélectionné grâce à son id #premier.

                                      Cdt,

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        30 avril 2017 à 2:32:15

                                        @Bam92 ce code ne sélectionne pas le premier li de la liste ce qui me perturbe c'est que c'est dit dans le cours que cette ligne sélectionne l'élément frère qui suit immédiatement l'élément spécifié c'est-à-dire le deuxième li or que non ce code sélectionne tous les frères li du prémier élements li.

                                        En plus pour le téléchargement de la bibliothèque sur le lien du site officiel donné me donne ça que devrais-je prendre ?

                                        https://code.jquery.com/

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        L'important ce n'est pas d'être grand mais c'est être à la hauteur
                                          30 avril 2017 à 9:42:21

                                          LordBeerus a écrit:

                                          @Bam92 ce code ne sélectionne pas le premier li de la liste ce qui me perturbe c'est que c'est dit dans le cours que cette ligne sélectionne l'élément frère qui suit immédiatement l'élément spécifié c'est-à-dire le deuxième li or que non ce code sélectionne tous les frères li du prémier élements li.

                                          Non, il n'y a pas d'erreur, regarde bien le codepen du cours : https://codepen.io/eclairereese/pen/WwXYKa

                                          LordBeerus a écrit:

                                          En plus pour le téléchargement de la bibliothèque sur le lien du site officiel donné me donne ça que devrais-je prendre ?

                                          https://code.jquery.com/

                                          Tu peux utiliser le lien CDN directement dans ton code, juste avant la balise de fermeture du body : 

                                          <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>




                                          -
                                          Edité par n1col4s 30 avril 2017 à 13:25:25

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          "In chess, it's called Zugzwang, when the only viable move is not to move."
                                            17 mai 2017 à 11:42:03

                                            Bonjour à tous, 

                                            voilà j'ai tenté de créer un formulaire en m'inspirant de l'activité générer un formulaire.. je pars donc avec trois boutons de base, qui permettent à l'utilisateur de créer son formulaire comme il le souhaite, mon problème est que quand j'appuie sur bouton, un champ de texte et un bouton ok se créé, cependant quand je veux récupérer la valeur entrer par l'utilisateur dans le champ de texte input, ca ne fonctionne pas.. 

                                            un code valant mieux que des paroles.. 

                                            $("#label").click(function () {
                                              $(".forma").append("<input type='text' name='pseudo' id='lab'/> Entrez votre label </br>");
                                              $(".forma").append("<button type='button' name='ok' id='ok'>Ok</button>");
                                            
                                            });
                                            
                                            
                                            $('#ok').on('click', createInput);
                                            
                                            function createInput(e) {
                                              e.preventDefault();
                                              var labem = $('#lab').val();
                                              console.log($('#lab').val());
                                              alert(labem);
                                            }
                                            

                                            et le HTML 

                                            <!DOCTYPE html>
                                            <html>
                                              <head>
                                                <meta charset="utf-8">
                                                <link rel="stylesheet" href="formulaire.css">
                                                <title>formulaire</title>
                                              </head>
                                              <body>
                                            
                                                <h1>Formumaire de contact</h1>
                                            
                                            
                                            <form class="formu" >
                                              <button type="button" name="label" id="label">label</button>
                                              <button type="button" name="zone" id="zone">Zone de texte</button>
                                              <button type="button" name="bouton" id="bouton">Bouton</button>
                                            </form>
                                            <br>
                                            <form class="forma" method="post">
                                            
                                            </form>
                                            
                                            
                                                <script src="jquery-3.2.1.js"></script>
                                                <script src="formulaire.js"></script>
                                              </body>
                                            </html>
                                            

                                            j'ai essayé plusieurs manières en full js ou avec le jquery et je n'y arrive pas.. aucun message d'erreur dans la console, aucun message non plus renvoyant la valeur, aucune alert.. 

                                            Si quelqu'un a le temps et la gentillesse :)

                                            Merci beaucoup!

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              20 mai 2017 à 22:52:56

                                              @VictorPolfliet Si tu n'arrives pas à récupérer la valeur, c'est parce qu'au chargement du script, ton bouton n'existe pas encore. Tu dois mettre l'événement click dessus après sa création.

                                              Essaie comme ça : 

                                              $("#label").click(function () {
                                                $(".forma").append("<input type='text' name='pseudo' id='lab'/> Entrez votre label </br>");
                                                $(".forma").append("<button type='button' name='ok' id='ok'>Ok</button>");
                                               
                                                $('#ok').on('click', createInput);
                                               
                                                function createInput(e) {
                                                  e.preventDefault();
                                                  var labem = $('#lab').val();
                                                  console.log($('#lab').val());
                                                  alert(labem);
                                                }
                                              
                                              });
                                               
                                               
                                              



                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              "In chess, it's called Zugzwang, when the only viable move is not to move."
                                                21 mai 2017 à 14:58:04

                                                Bonjour Merci beaucoup pour votre réponse et votre temps ! Le problème est résolu !:)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  22 mai 2017 à 11:34:24

                                                  Salut à tous , 

                                                  Je bloque sur un problème depuis plusieurs jours et j'aurais besoin d'un petit coup de pouce s'il vous plaît.

                                                  Je n'arrive pas à récupérer seulement la valeur de ce que j'écrit dans l'input. 

                                                  quelqu'un pourrait m'aider ?

                                                  <!DOCTYPE html>
                                                  <html>
                                                    <head>
                                                      <meta charset="UTF-8">
                                                      <title>tp formulaire IMH</title>
                                                      <style>
                                                        body {
                                                          
                                                          width: 1500px;
                                                          height: 750px;
                                                        }
                                                        #gauche {
                                                          float: left;
                                                          width: 70%;
                                                          height: 750px;
                                                          background-color: white;
                                                        }
                                                        #droite {
                                                          display: flex;
                                                          flex-direction: column;
                                                          background-color: #CEFFF8;
                                                          height: 750px;
                                                          width: 30%;
                                                          font-size: 2.5em;
                                                          text-align: center;
                                                  
                                                        }
                                                        button{
                                                          margin: auto;
                                                          width: 150px;
                                                          height: 50px;
                                                          font-size: 1em;
                                                  
                                                        }
                                                        form{
                                                          width: 400px;
                                                          height: 200px;
                                                          visibility: hidden;
                                                          background-color: orange;
                                                          font-size: 0.5em;
                                                        }
                                                        hr{
                                                          width: 100%;
                                                        }
                                                        
                                                        input{
                                                          color: black;
                                                        }
                                                  
                                                      </style>
                                                    </head>
                                                    <body>
                                                      <div id="gauche">
                                                      </div>
                                                      <div id="droite">
                                                        Utilisez ces boutons pour créer votre formulaire<br><br>
                                                        <button>Prenom</button>
                                                        <button>Nom</button>
                                                        <button>Âge</button>
                                                        <hr>
                                                        <form>
                                                          <label for="prenom">Entrez votre prénom</label> :<input type="text" name="prenom" id="prenom" value="" ><input type="submit" value="OK">
                                                        </form>
                                                      </div>
                                                      <script type="text/javascript" src="jquery.js"></script>
                                                      <script type="text/javascript">
                                                        $(function(){
                                                          
                                                          $('button:first').on('click',function(){
                                                            $('form').css('visibility','visible');
                                                          });
                                                          $('input:submit').on('click',function(){
                                                            $('form').css('visibility','hidden');
                                                            $('input:enabled').prependTo('#gauche');
                                                  
                                                  
                                                          
                                                  
                                                          });
                                                          
                                                        });
                                                      </script>
                                                    </body>
                                                  </html>
                                                  



                                                  -
                                                  Edité par jamaicos 22 mai 2017 à 12:22:52

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    22 mai 2017 à 12:50:07

                                                    $('#prenom').val();

                                                    Voir ici

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      29 mai 2017 à 19:45:34

                                                      Bonsoir,

                                                      Je suis en train de corriger l'activité partie 3 (Jquery) et je reçois un exercice qui correspond à l'activité partie 2. Impossible donc de le noter.

                                                      Il s'agit sans doute d'une confusion. Comment dois-je procéder?

                                                      Merci par avance, bien cordialement ... j'attends ma note!

                                                      PS: Par ailleurs, merci pour ce cours qui me prend délicieusement la tête :)

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        31 juillet 2017 à 14:35:32

                                                        Bonjour tout le monde qu'il est la méthode Jquery qu'il faut pour éviter la répétition d'affichage du formulaire lorsque je clique sur le bouton.

                                                        Voiçi mon code: 

                                                        $('button:eq(0)').click(function() {
                                                        $('#droite').append('<div class="label"><hr /><span>Texte du label</span>' + ' ' + '<input name="label"/>' + ' ' + '<button value="submit" name="label">Ok</button></div>');
                                                        $('.zone_texte').hide();
                                                        $('.button').hide();
                                                        $('button[name=label]').on("click", function () {
                                                        var label = $('input[name=label]').val();
                                                        $('#gauche').append('<br /><span>' + label + '</span>');
                                                        $('.label').hide();

                                                        });

                                                        });
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          3 août 2017 à 13:19:28

                                                          Bam92 a écrit:

                                                          Bonjour à tous!

                                                          Je suis sur l'activité 1 qui me prend terriblement du temps. Le problème? J'arrive à tous insérer (label, input, boutton) à la partie gauche. Seul bémol je n'arrive pas à réitérer l'action, c'est-à-dire insérer une deuxième puis une troisième ligne comme demandé. Quelqu'un peut-il m'indiquer l'algo à suivre?

                                                          Merci d'avance.

                                                          Hey! T'as réussi a trouver le probleme? J'ai le même souci.

                                                          J'arrive a tout créer mais je n'arrive pas a dupliquer. De plus, apres l'avoir utilisée une fois, la zone de texte input s'affiche lorsque je clique sur Label ! Comme si elle prenait le dessus sur le code précédent!

                                                          Voici mes codes... Et merci a qui pourra aider :)

                                                          <body>
                                                              <div id="gauche">
                                                                  <span></span>
                                                              </div>
                                                              <div id="droite">
                                                                Utilisez ces boutons pour créer votre formulaire<br><br>
                                                                <button class="bouton" id="label">Label</button>
                                                                <button class="bouton" id="zoneDeTexte">Zone de texte</button>
                                                                <button class="bouton" id="bouton">Bouton</button>
                                                              
                                                                  <form>
                                                                      <br><div class="ligne"></div><br>
                                                                      <label></label>
                                                                      <input id="texteLabel"/>
                                                                      <button id="ok">OK</button>
                                                                  </form>
                                                              </div>
                                                                
                                                              <script src="jquery-3.2.1.min.js"></script>
                                                              <script src="jquery.js"></script>
                                                            </body>
                                                          $("form").hide();
                                                          
                                                          $("#label").on("click", function () {
                                                              $("form label").text("Texte du label :");
                                                              $("form input").attr("type", "text");
                                                              $("form").show();
                                                              $("#ok").on("click", function (e) {
                                                                  $("span").text($("#texteLabel").val());
                                                                  e.preventDefault();
                                                              });
                                                          });
                                                          
                                                          $("#zoneDeTexte").on("click", function () {
                                                                  $("label").text("id de la zone de texte :");
                                                                  $("form").show();        
                                                                  $("#texteLabel").attr("type", "text");    
                                                                  $("#ok").on("click", function (e) {
                                                                      $("span:last").after("<input/>" + "<br>");
                                                                      e.preventDefault();  
                                                              });
                                                              var newId = $("#texteLabel").val();
                                                              $("#texteLabel").attr("id", "newId");
                                                          }); 
                                                          
                                                          $("#bouton").on("click", function () {
                                                              $("<button>Valider</button>").insertAfter("#gauche input:last");
                                                          });





                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            30 août 2017 à 20:21:55

                                                            Bonjour,

                                                            Je suis à l'activité 1 de ce cours.

                                                            J'ai plus ou moins réussi à coder le générateur de formulaire mais j'ai un soucis. Je ne peux pas générer plusieurs lignes.

                                                            Voici mon code :

                                                            HTML:

                                                            <!DOCTYPE html>
                                                            <html>
                                                              <head>
                                                                <meta charset="UTF-8">
                                                                <style>
                                                                  body {
                                                                    margin: 0;
                                                                  }
                                                                  #gauche {
                                                                    float: left;
                                                                    width: 70%;
                                                                    height: 1000px;
                                                                    background-color: #EFECCA;
                                                                  }
                                                                  #droite {
                                                                    background-color: #CEFFF8;
                                                                    height: 1000px;
                                                                    padding : 10px;
                                                                    padding-left: 71%;
                                                                  }
                                                                </style>
                                                              </head>
                                                              <body>
                                                                <div id="gauche">
                                                                </div>
                                                                <div id="droite">
                                                                  Utilisez ces boutons pour créer votre formulaire<br><br>
                                                                  <button>Label</button>
                                                                  <button>Zone de texte</button>
                                                                  <button>Bouton</button><br><br>
                                                                </div>
                                                                  
                                                                <script src="../JQUERY/jQuery.js"></script>
                                                                <script src="../JAVASCRIPT/activite.js"></script>
                                                              </body>
                                                            </html>

                                                            JS:

                                                            $(function(){
                                                                
                                                                var coteG = $("#gauche");
                                                                var coteD = $("#droite");
                                                                
                                                                //Ajoute un FORM à gauche:
                                                                var formGauche = $("<form></form>").appendTo(coteG);
                                                                formGauche.css("margin-top", "50px");
                                                                
                                                                //AJOUTE UNE SEPRATION A DROITE
                                                                coteD.append("<hr>");
                                                                
                                                                
                                                                
                                                                //REACTION AU CLIC SUR LE BOUTON LABEL
                                                                $("#droite button:first").on("click", function(){
                                                            
                                                                    coteD.append("<div id='labelElmt'> <p>Texte du label: <input type='text' id='inputLabel' > <button id='boutonOK'> OK </button> </p> </div>");
                                                            
                                                                    //REACTION AU CLIC SUR BOUTON VALIDER
                                                                    $("#boutonOK").on("click", function(){
                                                                        //sauvegarde la valeur de l'input:
                                                                        var titreLabel = $("#inputLabel").val();
                                                                        //l'ajoute à la balise <form> de gauche:
                                                                        formGauche.append("<span>" + titreLabel + "</span>");
                                                                        //efface le formulaire:
                                                                        $("#labelElmt").hide();      
                                                                    });
                                                                });
                                                            
                                                                $("#droite button:eq(1)").on("click", function() {
                                                            
                                                                    coteD.append("<div id='idElt'> <p>id de la zone de texte: <input type='text' id='input2'> <button id='boutonOK2'> OK </button> </p> </div>");
                                                            
                                                                    $("#boutonOK2").click(function(){
                                                                        var textId = $("#input2").val();
                                                                        formGauche.append("<input id='newInput' type='text' id=" + textId + " ></input>");
                                                                        $("#newInput").css("margin-left", "50px");
                                                                        $("#idElt").hide();
                                                                    });
                                                            
                                                                });
                                                                
                                                            
                                                                
                                                                $("#droite button:last").click(function(){
                                                            
                                                                    coteD.append("<div id='buttonElt'> <p>Texte du bouton: <input type='text' id='input3'> <button id='boutonOK3'> OK </button> </p> </div>");
                                                            
                                                                    $("#boutonOK3").click(function(){
                                                                        var textButton = $("#input3").val();
                                                                        coteG.append("<button id='valider'>" + textButton + "</button>")
                                                                        $("#valider").css("margin-top", "50px");
                                                                        $("#buttonElt").hide();
                                                                    });
                                                            
                                                                 });
                                                                
                                                            });
                                                            Comment je peux faire pour créer une nouvelle balise <form> et que les nouvelles données s'y ajoute ?
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              13 septembre 2017 à 9:20:38

                                                              Bonjour,


                                                              J'en suis à l'activité 3 du cours et il y a quelque chose qui m'échappe dans l'énoncé. j'ai retrouvé le post d'Atipika qui avait exactement le même problème et qui le décrit bien.


                                                              Bonsoir, je travaille sur l'activité_partie3 et l'un des énoncés me pose problème:

                                                              Il est demandé de créer 1 bouton "annuler" qui permettrait  "à l'utilisateur d'annuler l'insertion d'un label, d'une zone de texte ou d'un bouton". Je n'arrive pas à savoir ce que le bouton doit faire exactement, en effet si on veut annuler ce qui vient d'être créé (donc après le clic sur le bouton "ok", donc après la disparition en fondu de la div qui contient ce bouton "annuler") c'est compliqué puisqu'il n'y a plus le bouton "annuler"...Et si on veut juste remettre à zéro la valeur de l'input:text il suffit d'effacer avec le clavier puisque ça n'a pas été envoyé...

                                                              Bref je ne sais pas si je suis très claire et si quelqu'un peut m'aider mais là je galère vraiment, je suis en boucle sur ce problème et ça m'empêche de rendre l'exercice, que j'ai fini en dehors de ce "détail"!

                                                              Merci à tous

                                                              est-ce que quelqu'un a une réponse?

                                                              merci à tous.



                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              MOOC jQuery

                                                              × 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