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

ASP.NET Ajax Discussion :

getElementById (mavar.ClientID) dynamique


Sujet :

ASP.NET Ajax

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2011
    Messages : 66
    Points : 76
    Points
    76
    Par défaut getElementById (mavar.ClientID) dynamique
    Bonjour à tous,

    Je veux en fait affecter à une textbox, dont le nom est passé en paramètre, une valeur fixe.
    Je signale que j'ai une Master Page !

    J'utilise actuellement cette fonction qui marche très bien :
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("<%=TXT_DATEDEB.ClientID%>").value;
    Le problème arrive quand je veux que le nom de ma "textbox" soit une variable !

    J'ai trouvé ce code qui m'a dépanné mais qui à atteint ces limites :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("ctl00_MainContentPlaceHolder_TXT_" + mavar).value;
    J'ai maintenant ma textbox qui est dans un "<ajaxToolkit:TabContainer>" donc sont nom change (id TabContainer + id textbox) =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ctl00_MainContentPlaceHolder_TABC_MENU1_TXT_DATEDEB
    Voila là ca plante... normal

    Il n'y a pas moyen d'avoir un code de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("<%=mavar.ClientID%>").value;
    Merci,
    Cédric

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 25
    Points
    25
    Par défaut
    Salut,

    Si toutefois tu n'a pas trouvé, regarde avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.querySelector("[id$="+mavar+"]")
    Si tu est sur un navigateur pas trop vieux ça devrait marcher. Ça sélectionne le premier élément trouvé dont l'id termine par mavar

    A+

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    Tu peux générer le javascript depuis le code-behind ce qui permet de connaitre l'id des composants et de l'affecter au Javascript.

Discussions similaires

  1. Problème avec document.getElementById et ClientID
    Par huggy49 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 06/09/2011, 15h09
  2. getElementById dynamique - possible?
    Par rogntudju dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 17/07/2009, 13h40
  3. variable dynamique getElementById
    Par Dark Ryus dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 30/01/2009, 14h11
  4. GetElementById() avec un Id dynamique
    Par chrislcf dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/06/2008, 14h51

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