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 :

getElementById dynamique - possible?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 25
    Par défaut getElementById dynamique - possible?
    Bonjour,

    J'aimerais savoir s'il est possible d'avoir une variable dynamique pour getElementById dans une fonction...il s'agit d'une fonction qui insère la date et le nom d'utilisateur dans un champ. Malgré tous mes tests, rien ne marche :

    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 inserDate(user,field)
    {
    	var tut = new Date();
    	jour = tut.getDate();
    	mois = tut.getMonth()+1;
    	heure = tut.getHours();
    	minute = tut.getMinutes();
    	if(jour < '10'){jour = '0'+jour;}
    	if(mois < '10'){mois = '0'+mois;}
    	if(heure < '10'){heure = '0'+heure;}
    	if(minute < '10'){minute = '0'+minute;}
    	document.getElementById(+field+).value = 'Le '+jour+'.'+mois+'.'+tut.getFullYear()+' à '+heure+'h'+minute+' - Par : '+user+'\n\n\n'+document.getElementById(+field+).value;
     
     
    	var elem = document.getElementById(+field+);
     
        if(elem != null) {
            if(elem.createTextRange) {
                var range = elem.createTextRange();
                range.move('character', 35);
                range.select();
            }
            else {
                if(elem.selectionStart) {
                    elem.focus();
                    elem.setSelectionRange(34, 34);
                }
                else
                    elem.focus();
            }
        }
     
    }
    A noter que la fonction marche avec un seul argument (user) et document.getElementById('champ_non_dynamqieu').value

    La variable "field" est le nom du champ à remplir. J'ai essayé document.getElementById(+field+).value et document.getElementById('+field+').value...au niveau du champ qui provoque l'action, j'ai tenté <input type="button" onClick="inserDate('toto', 'adresse3');"> ou encore <input type="button" onClick="inserDate('toto', adresse3);">...sans succès. Mon navigateur n'est pas très bavard, il me signale juste "objet attendu" à la ligne où le onClick se trouve.

    Voilà, je serais très reconnaissante à quiconque pourrait me donner une piste pour résoudre ce problème... mes connaissances Javascript sont purement empiriques donc désolée si c'est une question très bête


    Raphaëlla

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(field).value
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour et bienvenue sur Developpez.com

    SpaceFrog a déjà dit l'essentiel mais tu peux utiliser la FAQ qui est pleine de ressources

    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 25
    Par défaut
    arf....mais c'est bien sûr!! Merci.

    Dans la série "variables dynamiques", est-il possible d'éditer le chemin vers une variable (en se basant sur la même fonction) :

    document.'+field+'.value = ....

    Ou la valeur de field est quelque chose du genre "myform4.adresse2" ?

    merci encore

  5. #5
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Salut,

    Utilise getElementById et form.elements.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    getElementsByName s'agissant d'elements de formulaires ou comme sus dit
    utilise la syntaxe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms[nomform].elements[nomelt].value
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par rogntudju Voir le message
    Dans la série "variables dynamiques", est-il possible d'éditer le chemin vers une variable
    Bien qu'"éditer" ne soit pas le meilleur terme, il te suffit d'utiliser la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['name_du_form'].elements['name_element'].attribut
    Il est alors facile de gérer tes collections en dynamique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var num_form = 4;
    var num_champ = 2;
    alert(document.forms['myform'+num_form].elements['adresse'+num_champ].value);
    Y compris dans une boucle, par exemple ...

    EDIT : mais comme le souligne franco, getElementById() est la méthode à privilégier pour accéder à un élément donné de la page

    A+

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

Discussions similaires

  1. Variable dynamique possible ?
    Par dug dans le forum Linux
    Réponses: 16
    Dernier message: 20/11/2016, 00h03
  2. Linq "dynamique" possible or not.
    Par LeRoc dans le forum Linq
    Réponses: 2
    Dernier message: 13/07/2011, 15h11
  3. [XSD] un XSD Dynamique possible?
    Par emile.coue dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 13/12/2008, 15h04
  4. Tableau associatif dynamique possible ?
    Par Kyp_Durron dans le forum Langage
    Réponses: 8
    Dernier message: 13/11/2007, 21h16
  5. [Tableaux] CheckBox dynamique, possible en php?
    Par Gumpy dans le forum Langage
    Réponses: 5
    Dernier message: 07/02/2006, 11h46

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