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 Discussion :

Les ID de javascript sur des controles .NET


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Les ID de javascript sur des controles .NET
    Bonjour à tous

    J'ai pas compris la gestion des ID des controle .NET dans les appels de javascript. J'ai cherché sur le net pour avoir une explication, mais je dois mal formuler ma demande parce que je trouve rien.

    Je vais vous soummetre un cas simple :
    Mon contrôle est posé tel que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:TextBox ID="txtPass" runat="server" CssClass="TexteBox">
    J'ai une fonction javacript comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function passPerfect() {
                        alert(document.getElementById("txtPass").value);
                        document.getElementById("imgPerfect").style.display = "Block";
                    }
    Et cela me renvoi : undifined.
    En fouillant un peu je me suis dit qu'il y avait un soucis et j'ai essayer avec les Name et les TagName : pareil, même motif, même punition.

    Et à un moment j'ai trouver qu'en mettant l'id du contrôle une fois interprété, donc cela : ctl00_conenr_txtPass, cela fonctionnait impeccable. Mais je ne maitrise pas du tout cet ID en fait, il peut changer à n'importe quel moment.

    Quelqu'un pourrait il m'éclairer sur la gestion de ces truc là pour avoir une solution qui tienne la route dans tous les cas ?

    Merci et bonne journée

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Il faut utiliser la propriété ClientID des controles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function passPerfect() {
                        alert(document.getElementById("<%= txtPass.ClientID %>").value);
                    }

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ah, ben maintenant que tu le dis, ça me rappelle un truc que j'ai vu il y a longtemps.
    J'avais complètement oublié ça.

    Merci, merci beaucoup.

    Je te souhaite un excellent week-end.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 90
    Par défaut
    J'utilise souvent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <asp:TextBox ID="txtPass" runat="server" CssClass="TexteBox" ClientMode="Static">
    Avec le ClientMode="Static" tu garde l'unicité de l'Id, sauf si ton contrôle est dans une Datasource ==> là y a une autre gestion....

    Et normalement avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementById("txtPass").value);
    ça devrait fonctionner quand même.

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

Discussions similaires

  1. [c# CF2.0 VS pro] databinding sur des controles differents
    Par pdesoil dans le forum Windows Forms
    Réponses: 6
    Dernier message: 21/05/2007, 13h41
  2. Réponses: 2
    Dernier message: 02/08/2006, 23h54
  3. Réponses: 6
    Dernier message: 18/04/2005, 21h12
  4. [VB.Net] Faire du JS sur des contrôles côté serveur
    Par TagadaTsoin dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/11/2003, 15h51
  5. [VB6] Comment boucler sur des controls d'un form ?
    Par lankviller dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/01/2003, 16h29

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