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 :

[DOM] afficher un input dans un formulaire


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Par défaut [DOM] afficher un input dans un formulaire
    Bonjour ,
    J'apprend actuellement le javascript + dom et j'ai parcouru quelques tutos mais je bloque sur l'application.
    Je veux faire une petite fonction qui m'affiche lorsque je clique sur un lien un bouton de type texte à l'intérieur de mon formulaire et bien sûr rien ne s'affiche.Pouvez vous mez dire où je me suis trompé.

    Autre question : y a t il un moyen d'afficher les messages d'erreur sous javascript.Pour savoir à quel niveau notre fonction plante.
    Merci d'avance

    Voici le code de mon formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      <form id="form1" action="test.php" method="post">
     
                <a href="" id="monLien" value="Cliquez ici pour afficher l'input" onclick="Afficher(monLien,form1);">
                    Cliquez ici pour afficher l'input
                </a>
     
            </form>
    voici le code de ma fonction
    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
     
      function Afficher(x,y)
               {
                // au clic on crée un element texte
     
               var text = document.createElement("input") ;
               text.setAttribute("type","text") ;
               text.setAttribute("id","monInput") ;
               text.setAttribute("value","l'input qui venait de loin");
     
                // On l'ajoute au formulaire On va utiliser insertBefore
     
                // Il faut récupérer la représentation Dom de la balise de nom monLien
     
                var monlien = document.getElementById("x") ;
     
                // Il faut aussi récupérer l'équivalent Dom du formulaire
     
                var monFormulaire = document.getElementById("y") ;
     
                // On utilise insertBefore pour entrer l'input
     
                monFormulaire.insertBefore(monlien,text);
     
             //   document.body.x.appendChild(text) ;
     
               }
    Voici le code de ma page en entier

    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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
            <script language="Javascript">
     
               function Afficher(x,y)
               {
                // au clic on crée un element texte
     
               var text = document.createElement("input") ;
               text.setAttribute("type","text") ;
               text.setAttribute("id","monInput") ;
               text.setAttribute("value","l'input qui venait de loin");
     
                // On l'ajoute au formulaire On va utiliser insertBefore
     
                // Il faut récupérer la représentation Dom de la balise de nom monLien
     
                var monlien = document.getElementById("x") ;
     
                // Il faut aussi récupérer l'équivalent Dom du formulaire
     
                var monFormulaire = document.getElementById("y") ;
     
                // On utilise insertBefore pour entrer l'input
     
                monFormulaire.insertBefore(monlien,text);
     
             //   document.body.x.appendChild(text) ;
     
               } 
     
     
            </script>
     
      </head>
      <body>
     
      <!-- On crée un formulaire -->
     
            <form id="form1" action="test.php" method="post">
     
                <a href="" id="monLien" value="Cliquez ici pour afficher l'input" onclick="Afficher(monLien,form1);">
                    Cliquez ici pour afficher l'input
                </a>
     
            </form>
     
      </body>
    </html>
    Merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="Afficher('monLien','form1');return false"
    Pour les messages d'erreur, télécharge Firebug pour FF.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Autre erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var monlien = document.getElementById(x) ;
     
                // Il faut aussi récupérer l'équivalent Dom du formulaire
     
                var monFormulaire = document.getElementById(y) ;
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Par défaut
    OK je teste tout ça.
    Merci

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Par défaut
    Bonjour ,
    J'ai téléchargé et installé l'extension firebug.Il me reste plus qu'à lire un petit tuto sur son utilisation.
    Pour le programme de test merci pour les modifs :
    Mais en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monFormulaire.insertBefore(monlien,text);
    rien ne s'affiche
    Par contre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monFormulaire.appendChild(text);
    fonctionne très bien
    Est ce que tu peux m'expliquer le coup du return false après le onclick.

    Merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Par défaut
    J'viens d'avoir ma première étoile

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Le href="" engendre le rechargement de ta page après l'exécution du onclick, du coup, tu ne peux pas voir les modifications, un return false permet d'inhiber l'action du href.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. ajout de champs input dans un formulaire
    Par MV1908 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/08/2006, 18h31
  2. Comment lier une combobox à un input dans un formulaire?
    Par MisterCool dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 28/06/2006, 15h12
  3. Afficher une table dans un formulaire
    Par noob_vba dans le forum IHM
    Réponses: 8
    Dernier message: 20/06/2006, 16h54
  4. [DOM] DOM afficher un input avec du texte dedans
    Par NeHuS dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/01/2006, 22h41
  5. Problème pour afficher un contrôle dans un formulaire
    Par JahRastafari dans le forum IHM
    Réponses: 5
    Dernier message: 16/06/2005, 10h15

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