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 :

Création d'un bouton


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut Création d'un bouton
    Bonjour ( PI: je suis débutant en JS)
    Je souhaite en cliquant sur un bouton que j'ai crée via le code ci-dessous ==> créer un bouton qui a comme valeur le texte affiché dans une zone de text 'newevent'
    je souhaite que les boutons crées soient déplaçable avec la souris et identifiable avec un ID.
    par exemple: si je rentre le mot test1 dans ma zone newevent, et je click sur OK, je crée un bouton qui a comme valeur 'test1' et si je click sur test1
    je réalise un événement par exemple incrémenter une valeur dans un tableau.

    j'ai essayé plusieurs jours mais sans résultats.
    Merci d'avance de votre aide.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="button" onclick="créationbouton()" value="OK"/>
     
    <input type="text" name="newevent" id="newevent"/>

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    cela peut se faire facilement avec jQuery, par exemple comme cela :
    http://api.jquery.com/append/

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    peu de JQuery
    pour le depalcement https://jqueryui.com/draggable/
    pour l'ajout d'un bouton :http://api.jquery.com/append/

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut retour création bouton
    Merci...
    Je vais apprendre jQuery..)))
    si ce n'est pas trop compliqué et pour que je puisse avancer merci de me fournir le code svp...
    Merci de voter aide

  5. #5
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function creationbouton() {
      var btn =  document.createElement('button'); //créer le bouton
      vart input = document.getElementById('newevent');//récupérer l'input
      btn.setAttribute('name', input .value); //lui donner son nom
      input.parentNode.insertBefore(btn, input.nextSibling);//l'insérer dans le dom où on veut: ici après l'input 
      //(insérer parmi les fils du parent de l'input, avant le suivant de l'input)
    }
    tout aussi simple en javascript

    A+JYT

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut Création d'un bouton
    Merci sekaijin
    j'arrive bien à créer les boutons
    ils sont tout petits.. comment gérer stp leur dimensions?
    Comment les placer un endroit donnée?
    et pour terminer...) comment les rendre déplaçable avec la souris?
    Merci bcp de votre aide

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut Création d'un bouton
    Pour les dimensions j'ai trouvé..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    btn.style= "width:60px; height:40px";

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut Création d'un bouton
    Re bonjour

    en plus des deux points restants ci-dessous:

    Comment les placer à un endroit donnée?
    comment les rendre déplaçable avec la souris?

    je n'arrive pas à leur donner une valeur ( texte à l’intérieur du bouton)
    Merci encore de votre aide.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut Création d'un bouton
    Pour le pb d'afficher la valeur du bouton .. c'est un bug du navigateur.. ca marche avec IE mais pas avec chrome..bizzard

  10. #10
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    Pour le pb d'afficher la valeur du bouton .. c'est un bug du navigateur..

    comment crées tu ton « bouton », montre nous ton code.


    Comment les placer à un endroit donnée?
    comment les rendre déplaçable avec la souris?
    Pour les glisser/déposer il existe pour l'HTML5

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut Création d'un bouton
    Re bonjour

    pour la création des boutons j'utilise le code de sekaijin ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function creationbouton() {
      var btn =  document.createElement('button'); //créer le bouton
      vart input = document.getElementById('newevent');//récupérer l'input
      btn.setAttribute('name', input .value); //lui donner son nom
      input.parentNode.insertBefore(btn, input.nextSibling);//l'insérer dans le dom où on veut: ici après l'input 
      //(insérer parmi les fils du parent de l'input, avant le suivant de l'input)
    }

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut Création d'un bouton
    Désolé mais pour le drag and drop impossible de trouver un exemple simple pour les débutant....
    si vous en avez un je suis preneur...Merci

  13. #13
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    réponse ligne 5 dans le code ci dessus.

    A+JYT

  14. #14
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Désolé mais pour le drag and drop impossible de trouver un exemple simple pour les débutant....
    je pense que tu n'as pas dû chercher vraiment ou chercher l'exemple qui colle pile poil à ta problématique.

    Voici un exemple de mise en oeuvre de ton « besoin », mais rien n'est moins sûr !
    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
    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
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Exemple de Drag and drop sans le Drop !</title>
    <meta name="Author" content="NoSmoking">
    <style>
    html,
    body {
      height: 2000px;
      margin: 0;
      font: 1em/1.5em Verdana;
    }
    #main {
      margin: auto;
      max-width: 60em;
    }
    [draggable=true] {
      cursor: move;
    }
    #btn_create {
      display: block;
      font: 1em/2.5em Verdana;
    }
    .elem-new {
      display: block;
      position: absolute;
      top: 40%;
      left: 40%;
      margin: 0;
      padding: 0.25em 0.5em;
      border: 1px solid #abc;
      line-height: 2.5em;
      white-space: nowrap;
      word-break: normal;
      background: #fff;
      box-shadow: 0 0 10px #abc inset;
    }
    </style>
    <body>
    <div id="main">
      <div class="header">
        <h1>Exemple de Drag  sans le Drop !</h1>
      </div>
      <div class="section">
          <p>
              <button id="btn_create">Création élément</button>
          </p>
        </div>
      </div>
    </div>
    <script>
    var handleDragStart = function (e) {
        var oElem = e.target;
        // position initiale de l'élément
        oElem.originalX = e.screenX;
        oElem.originalY = e.screenY;
        oElem.id = 'move_encours';
        e.dataTransfer.effectAllowed = 'move';
        e.dataTransfer.setData('Text', oElem.id);
    };
    var handleDragEnd = function (e) {
        var oElem = e.target;
        // on replace à l'écran
        oElem.style.top = oElem.offsetTop + (e.screenY - oElem.originalY) + 'px';
        oElem.style.left = oElem.offsetLeft + (e.screenX - oElem.originalX) + 'px';
        oElem.id = '';
        // place l'élément au premier plan
        oElem.parentNode.appendChild(oElem);
    };
    // autorise le déplacement sur la totalité du document
    document.addEventListener('dragover', function (e) {
        e.preventDefault();
    }, false);
     
    // initialistion
    document.querySelector('#btn_create').onclick = function () {
        // création élément
        var oElem = document.createElement('button');
        oElem.className = 'elem-new';
        oElem.setAttribute('draggable', 'true');
        // gestion du DnD
        oElem.ondragstart = handleDragStart;
        oElem.ondragend = handleDragEnd;
        // ajout d'un texte
        oElem.textContent = 'New element #' + (document.querySelectorAll('.elem-new').length + 1);
        // ajout élément
        document.querySelector('body').appendChild(oElem);
    };
    </script>
    </body>
    </html>
    c'est minimaliste, maintenant à toi de faire l'effort d'adapter/modifier.

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut Création d'un bouton
    Merci çà marche et oui effectivement il faut que je l'adapte
    les gars soyer un peu indulgent avec les débutants...) je débute en js donc des choses évidente pour vous..il nous faut des jours de travail pour les trouver..
    donc votre aide est très précieux pour qu'on avance dans nos projets
    Merci encore de votre aide.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut Création d'un bouton
    Re bonjour;
    Malgré mes recherches, je n'arrive pas à adapter le code ci-dessous de Nosmoking.
    On crée bien des boutons avec le texte: New element #1... mais je n'arrive pas à leur affecter une fonction par exemple incrémenter une cellule d'un tableau en
    fonction de leur indice : par exemple le New element #1 incrémente la cellule 1, New element #2 incrémente la cellule 2,....
    Merci de m'aider à trouver la solution...
    Cdt

  17. #17
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    A chaque création d'un l'élément il te suffit de lui affecter une fonction sur son onclick.
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    oElem.onclick = function(){
        alert( this.textContent);
    };

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut Création d'un bouton
    Re bonjour
    J'ai réussi.. mais je n'arrive pas à récupérer l'ID du bouton une fois déplacer
    je pense qu'il faut rajouter la fonction getdata mais je ne sais pas ou?

  19. #19
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    et si seulement on savait ce que tu cherches à faire, en quoi l'id du bouton peut te servir si ce n'est au moment du drag.

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Points : 48
    Points
    48
    Par défaut
    Mon but est d'identifier le bouton créer quand je click dessus

    Mais j'ai trouvé on utilisant sont : oElem.value.
    Peux tu me dire si ce n'est pas trop compliqué comment limiter la surface de déplacement des boutons créer:
    je m'explique un peu plus... dans ma page j’insère une vidéo avec la balise <video> et je souhaite si c'est possible que le déplacement de mes boutons se fassent
    uniquement au sein de cette vidéo et non en dehors.
    Merci encore de ton aide.
    cdt

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/09/2006, 15h29
  2. Réponses: 3
    Dernier message: 11/06/2006, 19h03
  3. [VBA-E]Création de boutons dans VB
    Par BBe8127 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 04/05/2006, 16h33
  4. [VBA-E]Création de boutons selon une liste
    Par frevale dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/03/2006, 14h31
  5. [FLASH MX2004] Création de boutons avec données php
    Par joesature dans le forum Flash
    Réponses: 1
    Dernier message: 06/10/2005, 13h06

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