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 :

Ajout de formulaire


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Femme Profil pro
    chargé d'organisation
    Inscrit en
    Juillet 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : chargé d'organisation
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Ajout de formulaire
    Bonjour,

    Je suis novice dans le langage Javascript et je fais des tutos sur internet pour apprendre, mais j'avoue avoir des difficultés.
    Voilà, j'ai un exercice à faire dans lequel je dois ajouter des nouveaux liens sur une page à l'aide d'un formulaire.
    Ces nouveaux champs doivent apparaitre en haut.
    Lorsque le nouveau lien est créé, un message doit s'afficher pendant 2 secondes indiquant que le lien a bien été ajouté, et le nouveau lien doit être ajouté en haut de la liste.
    J'ai créé le bouton "ajouter un lien" et le formulaire avec les champs à remplir.
    Mais le bouton et les champs à remplir reste en bas de la liste même en utilisant "insertBefore" et mon message ne s'affiche pas et mon nouveau lien n'est pas ajouté à ma liste.

    Pouvez-vous m'aider ?

    Je joins les fichiers js -html et css.

    Merci de votre aide
    Corinne
    Fichiers attachés Fichiers attachés

  2. #2
    Candidat au Club
    Femme Profil pro
    chargé d'organisation
    Inscrit en
    Juillet 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : chargé d'organisation
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Oups, je n'ai pas envoyé le bon fichier js, car depuis j'ai apporte des modifications.
    Je le le remets
    exercice.zip

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Points : 1 509
    Points
    1 509
    Par défaut
    Bonjour,

    Peux-tu mettre tes codes directement ici entre les balises [CODE ][/CODE ] (sans espace).

    Si on doit télécharger les sources de tout le monde, on s'en sort vite plus... Merci
    Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !

    Que la force soit avec Developpez.net
    Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voiture

  4. #4
    Candidat au Club
    Femme Profil pro
    chargé d'organisation
    Inscrit en
    Juillet 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : chargé d'organisation
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    désolée, je ne savais pas ce qui était le plus pratique !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    // Liste des liens Web à afficher. Un lien est défini par :
    // - son titre
    // - son URL
    // - son auteur (la personne qui l'a publié)
    var listeLiens = [
        {
            titre: "So Foot",
            url: "http://sofoot.com",
            auteur: "yann.usaille"
        },
        {
            titre: "Guide d'autodéfense numérique",
            url: "http://guide.boum.org",
            auteur: "paulochon"
        },
        {
            titre: "L'encyclopédie en ligne Wikipedia",
            url: "http://Wikipedia.org",
            auteur: "annie.zette"
        }
    ];
     
    // Crée et renvoie un élément DOM affichant les données d'un lien
    // Le paramètre lien est un objet JS représentant un lien
    function creerElementLien(lien) {
        var titreLien = document.createElement("a");
        titreLien.href = lien.url;
        titreLien.style.color = "#428bca";
        titreLien.style.textDecoration = "none";
        titreLien.style.marginRight = "5px";
        titreLien.appendChild(document.createTextNode(lien.titre));
     
        var urlLien = document.createElement("span");
        urlLien.appendChild(document.createTextNode(lien.url));
     
        // Cette ligne contient le titre et l'URL du lien
        var ligneTitre = document.createElement("h4");
        ligneTitre.style.margin = "0px";
        ligneTitre.appendChild(titreLien);
        ligneTitre.appendChild(urlLien);
     
        // Cette ligne contient l'auteur
        var ligneDetails = document.createElement("span");
        ligneDetails.appendChild(document.createTextNode("Ajouté par " + lien.auteur));
     
        var divLien = document.createElement("div");
        divLien.classList.add("lien");
        divLien.appendChild(ligneTitre);
        divLien.appendChild(ligneDetails);
     
        return divLien;
    }
     
    var contenu = document.getElementById("contenu");
    // Parcours de la liste des liens et ajout d'un élément au DOM pour chaque lien
    listeLiens.forEach(function (lien) {
        var elementLien = creerElementLien(lien);
        contenu.appendChild(elementLien);
    });
     
    /*
    Exercice 2 - Gérer des nouveaux liens
    */
     
    //création du bouton
    var ajoutBoutonElt = document.createElement("p");
        ajoutBoutonElt.id= "bouton";
    var boutonElt = document.createElement("button");
          boutonElt.textContent = "Ajouter un lien";
          boutonElt.style.margin = "10px";
        ajoutBoutonElt.appendChild(boutonElt);
     
    document.getElementById("contenu").appendChild(ajoutBoutonElt);
     
     
    boutonElt.addEventListener("click", function () {
    //Création du formulaire
        var formElt = document.createElement("form");
              formElt.id = "formulaire";
        ajoutBoutonElt.innerHTML = "";
        ajoutBoutonElt.appendChild(formElt);
     
    //création des champs de saisie
        var titre = document.createElement("input");
            titre.type = "text";
            titre.id = "titre";
            titre.placeholder = "Entrez le nom du lien";
            titre.style.margin = "10px";
            titre.style.width= "350px";
            titre.required = true;
     
        var url = document.createElement("input");
            url.type = "text";
            url.id = "url";
            url.placeholder = "Tapez l'url";
            url.style.width= "350px";
            url.required = true;
     
        var auteur = document.createElement("input");
            auteur.type = "text";
            auteur.id = "auteur";
            auteur.placeholder = "Entrez votre nom";
            auteur.required = true;
            auteur.style.width= "350px";
     
        var valide = document.createElement("input");
            valide.type = "submit";
            valide.value = "Envoyer";
            valide.style.margin = "10px";
     
            formElt.appendChild(auteur);
            formElt.appendChild(titre);
            formElt.appendChild(url);
            formElt.appendChild(valide);
     
    // Envoi du formulaire avec ajout du préfixe http://
    formElt.addEventListener("submit", function(e) {
             var valeurUrl = url.value;
            // Si l'URL ne commence ni par "http://" ni par "https://"
            if ((url.indexOf("http://") !== 0) && (url.indexOf("https://") !== 0)) {
                // On préfixe par "http://"
                url = "http://" + url;
            } 
     
    // Création de l'objet contenant les données du nouveau lien
            var nouveauLien = Object.create(listeLiens);
                titre: titre.value;
                url: url.value;
                auteur: auteur.value;
     
     
            var lienElt = creerElementLien(nouveauLien);
                // Ajoute le nouveau lien en haut de la liste
                contenuElt.insertBefore(lienElt, contenuElt);
     
                //Création du message d'information
                var infoElt = document.createElement("p");
                      infoElt.id = "message";
                      infoElt.style.backgroundColor= "#ccedf0";
                      infoElt.style.height = "50px";
                      infoElt.style.width = "100%";
                      infoElt.style.textAlign = "center";
                      infoElt.style.fontSize = "20px";
                      infoElt.style.fontWeight = "bold";
                      infoElt.style.color = "#428bca";
                      infoElt.textContent = "Le lien \"" + nouveauLien.titre + "\" a bien été ajouté.";
     
     
                // Suppression du message après 2 secondes
                setTimeout(function () {
                    var infoMsg = document.getElementById("message");
                        infoMsg.style.display = "none";
               }, 2000);
     
                // Remplace le formulaire d'ajout par le bouton d'ajout
                ajoutBoutonElt.innerHTML = "";
                ajoutBoutonElt.appendChild(boutonElt);
            });
    });
    Merci

  5. #5
    Candidat au Club
    Femme Profil pro
    chargé d'organisation
    Inscrit en
    Juillet 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : chargé d'organisation
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    J'ai résolu le problème pour afficher mon bouton en haut de ma page, j'ai modifié mon code comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    /*
    Activité 2
    */
     
    //création de l'élément conteneur du bouton
    var paragraphe = document.createElement("div");
        paragraphe.id= "bouton";
    // Création du bouton pour ajouter un lien
    var boutonElt = document.createElement("button");
          boutonElt.textContent = "Ajouter un lien";
          boutonElt.style.margin = "10px";
        paragraphe.appendChild(boutonElt);
     
      document.body.insertBefore(paragraphe, contenu);
    Bon, je ne sais pas si c'est la meilleure solution mais ça fonctionne.
    Par contre j'ai toujours mes deux autres problèmes concernant mon message qui indique que le lien a bien été ajouté qui ne s'affiche pas et, les nouveaux liens ajouté qui ne s'ajoutent pas dans ma liste.
    Si vous pouvez m'aider et me dire où sont mes erreurs.
    Merci beaucoup

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

Discussions similaires

  1. Zone de texte ajout dans formulaire de recherche
    Par benoit13 dans le forum IHM
    Réponses: 1
    Dernier message: 26/07/2007, 08h45
  2. Ajouter un formulaire à une page pour tromper register_global
    Par JackBeauregard dans le forum Langage
    Réponses: 4
    Dernier message: 20/09/2006, 14h17
  3. controle bloqué dans ajout enregistrement formulaire
    Par lawokgluot dans le forum Access
    Réponses: 1
    Dernier message: 21/06/2006, 11h44
  4. Comment préciser ajout dans formulaire courant
    Par pyxosledisciple dans le forum Access
    Réponses: 1
    Dernier message: 20/01/2006, 09h20
  5. ajout element formulaire
    Par pittacos dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/08/2005, 17h12

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