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. #21
    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
    j'en peux plus de js..) trop compliqué sachant que j'ai déjà développé mon projet en VB et c'est largement plus facile mais mon boss me demande de le faire
    en web via html et js...et je souffre et je dois le rendre pour le lundi, je vous explique mon projet en gros avec les deux points qui me restent à résoudre.


    // zone de texte pour entrer le nom d'une action et bouton pour créer le bouton
    // dés Click sur le bouton valider j'utilise ton code pour créer un bouton avec comme texte
    oElem.textContent = newaction.value;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <label for="nouvelleaction">Créer une nouvelle action :</label>
    <input type="text" name="newaction" id="newaction"/>
    <input type="button"  value="valider" id= "valider_nouvelleaction"/>
    J'ai également un tableau initialement avec 3 lignes et 1 colonne:


    Nom action
    Nb
    Timer


    Mes objectifs sont:

    Dés que je click sur le bouton "Valider" en plus de créer le bouton,

    je rajoute son nom à une deuxieme colonne; en face à "Nom action"..
    et je mets un 0 en face de nombre: exemple:


    Nom action Action1 Action2 Action3
    NB 0 0 0
    Timer


    j'utilise le code ci-dessous dans la partie "initialisation":


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var firstRow = document.getElementById("tableau").rows[0];
        var x = firstRow.insertCell(-1);
        x.innerHTML = oElem.value;
     
        var secondeRow = document.getElementById("tableau").rows[1];
        var y = secondeRow.insertCell(-1);
        y.innerHTML = 0 ;
    Jusque la tout va bien...j'arrive.

    le probleme qui me reste est le suivant: dés que je click sur le bouton crée
    je souaite incrémenter+1 la deuxieme ligne "NB" en dessous de l'action clicquée
    j'utilise le code ci-dessous toujours dans initialisation:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var toto= document.getElementById("tableau").rows[0].cells.length;
    
    oElem.onclick = function(){
    var arrayLignes = document.getElementById("tableau").rows; 
    var arrayColonnes0 = arrayLignes[0].cells;//on récupère les cellules de la ligne Action
    var arrayColonnes1 = arrayLignes[1].cells;//on récupère les cellules de la ligne Nombres
    
     for(i=1;i<toto;i++){
    if ( arrayColonnes0[i].value=oElem.value)
    {
    arrayColonnes1[i].innerHTML=arrayColonnes1[i].innerHTML+1  // ca ne marche pas.. besoin d'aide
    }
    J'ai une video en lecture

    et donc en plus d'incrémenter les cellules NB j'ai besoin de récuperer à chaque click la fonction video.currentTime de la video
    à partir de la troisieme lignes et en dessous de l'action selectionnée: exemple ( je n'arrive pas besoin d'aide)


    Actions Action1 Action2 Action3
    NB 2 1 3
    Timer 12:34 34:23 11:20
    20:56 40:30
    60:13

  2. #22
    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
    je n'ai absolument rien compris du besoin
    je ne comprends pas le lien qu'il y a entre les explication est le code.
    mon sentiment c'est que tu donne une explication pour une appli A et que tu poste le code d'une appli B.

    Le code JS est complètement abracadabrant. même si tu viens de VB si tu écrit un truc de ce genre en VB je ne vois pas ce que ça peut faire.

    quant aux explications je n'y comprends rien. ça part dans tous les sens il y a des défaits d'une implémentation qui sont sensés répondre à un besoin qu'on ne voit pas. avec des choix qui semble improbable et particulièrement compliqué.


    créer des boutons on t'a donné des méthode c'est simple leur associer des action c'est aussi simple et on t'a donné des solutions

    les créer dans un TD c'est là encore très simple on t'a donné des solution pour les créer au bon endroit

    le drag/drop est moins évident et on t'a donnée une solution mais là j'avoue que je ne comprends pas ce qu'il vient faire dans l'affaire

    quant à l'histoire d'ID et le reste c'est pour moi un maelström incomprehensible.

    par habitude lorsque je crée un bouton
    1) je préfère le crée à l'avance en statique quite à le cacher/monter dynamiquement
    2) si je n'ai vraiment pas le choix je le crée dynamiquement
    3) je lui associe son action à la création est j'évite de devoir en changer dynamiquement

    en faisant ainsi mon bouton est prêt à l'emploi son action n'a pas à chercher des ID où qui que ce soit il agit sur les éléments qui sont dans son action et rien d'autre.
    Il est bien plus efficace de chercher les éléments une fois au moment de la création est dont d'avoir dans l'action les objet à manipuler, plutôt que de mettre des ID dans l'action est de chercher à chaque clic les élément dont on a besoin.

    dans le premier cas une recherche => une création => 10 clicks
    dans le second cas une création => 10 clicks => 10 recherches.

    A+JYT

  3. #23
    Membre averti Avatar de ddaweb
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Janvier 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 329
    Points : 430
    Points
    430
    Par défaut
    Une idée pour les temps, exemple en php:
    1. Quand tu as une action sur un de tes boutons, tu enregistres l'heure du moment, voir le mettre en session si nécessaire : $heure_depart=date(H:i:s);
    2. Quand tu repousses sur un des bouton, tu relis l'heure du moment $heure_relecture=date(H:i:s) et une simple soustraction de temps pour connaître le temps entre les 2 et tu met en forme
    3. Tu enregistres la valeur obtenue dans ton array au bon endroit

    Je suppose que JS a également des fonctions heure car si j'ai compris, que HTML et JS pour toi ?

    Par contre tu parles de "fonction video.currentTime", cela correspond à quoi ? Déjà un calcul de temps écoulé ou la métadonnée de ta vidéo ?

    Je suis assez d'accord avec sekaijin, on ne comprend pas trop ce que tu veux : réképèpète depuis le début, surtout clairement avec les bouts de codes utiles pour tout

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