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 :

Evénement de type "click" sur un bouton de formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de speedy_souris
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 47
    Par défaut Evénement de type "click" sur un bouton de formulaire
    bonjour à toutes et tous,
    voici mon formulaire qui permet de rajouter un lien
    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
    function creeFormulaire(){
        var forAjout = document.createElement("form");
        var nomBalise = [
            {obj:'input', type:'text', name:'Auteur', value:'', placeholder:'Entrez votre nom', size:10, required:1},
            {obj:'input', type:'text', name:'Titre', value:'', placeholder:'Entrez le Titre du Lien', size:30, required:1},
            {obj:'input', type:'url', name:'Url', value:'', placeholder:'Entrez l\'url du Lien', size:30, required:1},
            {obj:'input', type:'submit', id:"BtAjout", name:'BtAjout', value:'Ajouter', size:1}
        ];
     
        for (var i in nomBalise){
            var balise = nomBalise[i];
            var baliseP = document.createElement("p");
            baliseP.style.display = "inline";
            if (balise.obj === 'input')
            {
                var baliseInp = document.createElement("input");
                baliseInp.type = balise.type;
                baliseInp.id = balise.id;
                baliseInp.name = balise.name;
                baliseInp.placeholder = balise.placeholder;
                baliseInp.value = balise.value;
                baliseInp.size = balise.size;
                baliseInp.style.marginRight = "15px";
                if (balise.required === 1)
                {
                    baliseInp.setAttribute('required', 'required');
                }
                baliseP.appendChild(baliseInp);
            }
            forAjout.appendChild(baliseP);
        }; 
        return forAjout;
    };
    voici l'evenement "click" sur le bouton du formulaire de type submit qui renvois une erreur "document.getElement(...) is null"
    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
    document.getElementById("BtAjout").addEventListener("click", function (e){
        e.preventDefault();
        var form = document.querySelector("form");
        var elt = [];
        elt.push(divRep);
        for (i in form){
            if (form[i] === "Auteur"){
                elt.push(form[i].value);
            }
            else if (form[i] === "Titre"){
                elt.push(form[i].value);
            }
            else if (form[i] === "Url"){
                elt.push(form[i].value);
            }
        };
        e.stopPropagation();
        clicValide(elt);
    });
    la function d'insertion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function clicValide(elt){
        elt[0].appendChild(elt[2]);
        elt[0].appendChild(elt[3]);
        elt[0].appendChild(elt[1]);
    };
    je ne vois pas pourquoi

    merci de m'orienté

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    Le formulaire et son input submit d'ID "BtAjout" n'existent pas dans le DOM tant que la fonction creeFormulaire() n'a pas été exécutée.

    Ajouter document.getElementById("BtAjout").addEventListener("click", ... à la fin de cette fonction.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre averti Avatar de speedy_souris
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 47
    Par défaut
    hello danielhagnoul,
    je suis trop dedant pour ne pas l'avoir vu

    merci

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

Discussions similaires

  1. click droit sur un bouton ?
    Par yassin123441 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 03/06/2011, 13h09
  2. Ouverture de userform par clic sur un bouton de formulaire
    Par karlgina dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/06/2011, 19h29
  3. Réponses: 0
    Dernier message: 12/03/2010, 14h53
  4. Simulation de clic en js sur un bouton de formulaire en POST
    Par dldstyle dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/04/2009, 16h38
  5. Double action sur un bouton de formulaire
    Par thor8one dans le forum ASP
    Réponses: 4
    Dernier message: 15/11/2007, 10h07

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