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 :

Comment récupérer la valeur d'un élément d'une liste déroulante modifié par du javascript?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2003
    Messages : 53
    Par défaut Comment récupérer la valeur d'un élément d'une liste déroulante modifié par du javascript?
    Bonjour a tous,

    J'ai un label "label1", au chargement de ma page je lui ai change sa propriété Text dans une fonction javascript (document.getElementById("label1").innerHTML = "test"; et ca s'affiche bien, donc jusqu'à la tout va bien, sauf quand je veux récupérer sa valeur en codebehind (label1.text) le champ est vide !!!

    est ce que qql aurait une idée ?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Suite à quoi tu executes ce qu'il y'a dans le code behind? Un click sur un bouton?

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2003
    Messages : 53
    Par défaut
    au chargement de la page, et j ai aussi essayer de le récupérer suite a un clique sur un bouton mais rien a faire !!! je suis allé regardé dans le code source du navigateur et assez bizarrement je ne trouve rien dans la propriété value du champs !!!!!!! alors qu'elle est bien affiché sur la page !!!

    ps : merci pour ta réponse rapide

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Il faudrait le code asp et le code-behind, ca serait plus simple à diagnostiquer

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2003
    Messages : 53
    Par défaut



    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
     
     
    <script type="text/javascript" language="javascript">
        function getLocationHash() {
           document.getElementById("hf").innerHTML = window.location.hash;
        }
    </script>
     
    <body>
        <form id="form1" runat="server" >
        <div  >
            <asp:HiddenField ID="hf" runat="server" />
        </div>
        </form>
    </body>
    et le code behind

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            protected void Page_Load(object sender, EventArgs e)
            {
                Page.RegisterStartupScript("myScript", "<script type=text/javascript language=javascript>getLocationHash();</script>");
     
               string hash = hf.value;
            }

  6. #6
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Salut,

    si tu t'attends à avoir la valeur de window.location.hash de dispo dans ton page_load, il va falloir trouver autre chose.

    Ton page_load est executé coté serveur, puis envoye ton code html au navigatuer coté client, et c'est seulement à ce moment que le javascript est exécuté.

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  7. #7
    CUCARACHA
    Invité(e)
    Par défaut
    S'il y a bien une chose que tu ne regretteras pas c'est les efforts que tu auras fait pour progresser.

    Je ne voudrais pas t'enlever le plaisir de trouver.

    Essayes encore...

  8. #8
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2003
    Messages : 53
    Par défaut
    je suis tout a fait d'accord avec toi et d'ailleurs ca m'arrive souvent...
    cependant, là j'arrive vraiment pas !!!
    regarde ce que je fais mais ca marche pas !!!

    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
     
    <head runat="server">
        <title></title>
     
        <script type="text/javascript" language="javascript">
            function getLocationHash() {
                hiddenId = window.location.hash;
            }
        </script>
     
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:HiddenField ID="my_hf" runat="server" />
        </div>
        </form>
    </body>
     
                 string script = string.Format(@"var hiddenId = '{0}';" , this.my_hf.ClientID);
                if (!Page.ClientScript.IsClientScriptBlockRegistered("clientControlIds"))
                {
                    ScriptManager.RegisterClientScriptBlock(
                        this,
                        typeof(Page),
                        "clientControlIds",
                        script,
                        true);
                }
     
                Page.RegisterStartupScript("myScript", "<script type=text/javascript language=javascript>getLocationHash();</script>");
     
                string hash = my_hf.Value;

  9. #9
    CUCARACHA
    Invité(e)
    Par défaut
    Ca ne ressemble pas du tout à ce que je t'ai envoyé...

    C#
    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
     
    string script = string.format(@"
    <script ...>
    var hidId = '{0}';
    var lstId = '{0}';
    </script>",monhid.ClientID);
     
                if (!Page.ClientScript.IsClientScriptBlockRegistered("clientControlIds"))
                {
                    ScriptManager.RegisterClientScriptBlock(
                        this,
                        typeof(Page),
                        "clientControlIds",
                        script,
                        true);
                }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <script ...>
    function maliste_onchange(){
        window.document.getElementById(hidId).value = window.document.getElementById(lstId).value;
    }
    </script>
    ++

    Laurent Jordi

  10. #10
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2003
    Messages : 53
    Par défaut
    si si j avais bien compris mais je voulais l adapter a ce que je voulais faire...
    mais pour faire simple je vais bien t expliquer ce que je veux :

    je voudrais afficher un contenu en fonction de ce qu'il y a dans le hash d une url ce qui revient a recuperer le hash au chargement de la page !

    t as une idée ? et surtout est ce possible ?

Discussions similaires

  1. Réponses: 17
    Dernier message: 08/08/2008, 20h13
  2. FAQ : Comment alterner les couleurs de chaque élément d'une liste déroulante ?
    Par yoghisan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 04/06/2007, 14h15
  3. Comment changer la valeur d'un input selon une liste déroulante
    Par dreyo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/02/2007, 15h22
  4. Réponses: 6
    Dernier message: 09/01/2007, 11h38
  5. Réponses: 4
    Dernier message: 01/05/2006, 23h02

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