begin process at 2012 05 28 12:32:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Scripting

 > 

Javascript

 > 

Récupérer la valeur séléctionnée dans une DropDownList


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupérer la valeur séléctionnée dans une DropDownList

samedi 21 mars 2009 à 23:56:15 | Récupérer la valeur séléctionnée dans une DropDownList

pigeon11


Bonsoir,

Dans ma page aspx, j'ai une DropDownList et un TextBox.

en selectionnant un élément dans la liste, je veux le récupérer dans le textbox.

j'ai déja testé en mettant autopostback=true et ça marche mais le problème c'est que

toute la page est rechargée avec autopostback=true.

Comment faire la meme chose en utilisant un code javascript.

quelqu'un peut me donner un exemple.


Bonjour,

dans le head de ma page aspx j'ai créé une fonction javascript :

j'ai ecrit une fonction js :

function changer() {

document.form1.Montextbox.value=document.form1.Maliste.options
[document.form1.Maliste.selectedIndex].text;
}
et dans " Maliste_SelectedIndexChanged " je fais appel à la fonction javascript créée

Code :
 
 Response.Write("<script>changer();</script>")
Je mets autopostback à false vue que je ne veux pas recharger toute la page toute en utilisant juste du javascript.

En plus le texte que j'ai mis en rouge, je le tape manuellement vue qu'il n'apparaisse pas dans les propriétés de form.

ça marche pas. le texte de la liste n'est pas copié dans le textbox.

je suis vraiment bloquée.

Merci pour vos aides.




 
dimanche 22 mars 2009 à 01:19:38 | Re : Récupérer la valeur séléctionnée dans une DropDownList

ggtry

Bonsoir,

Il te faut différencier ce qui se passe côté serveur et côté client : selectedindexchanged se produit côté serveur, donc sur un postback (ou alors tu dois utiliser de l'ajax).
Quand ta page est créée pour être lue dans un navigateur internet, ton contrôle dropdownlist devient simplement un select html, dont la valeur ou le text peuvent être récupérés en js comme on le fait habituellement pour ce contrôle html.
Pour le faire en javascript, tu dois mettre sur ta dropdownlist un événement onchange. Si tu le fais directement dans ton code asp, tu auras un avertissement (mais ça marchera quand même). Tu peux ajouter sinon un événement onchange avec attributes.add.
Tu peux faire en javascript (le code peut être simplifié) :

function coco(k)
    {
    var x=document.getElementById("DropDownList1").options[k].text;
    document.getElementById("TextBox1").value=x;  
    }

Et pour ajouter l'événement js sur ta dropdownlist, soit tu ajoutes : onchange="coco(this.selectedIndex)" (avec un avertissement dans Visual Studio), soit tu ajoutes un attribut sur ta balise dans le code vb :

Protected Sub DropDownList1_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        DropDownList1.Attributes.Add("onchange", "coco(this.selectedIndex)")
 End Sub

GGtry
lundi 23 mars 2009 à 08:25:21 | Re : Récupérer la valeur séléctionnée dans une DropDownList

titeoe

Bonjour,

Tu peux utiliser la méthode précédente ou alors si tu disposes d'ajax dans ton application tu peux mettre ton textBox et ta dropdownlist dans un update panel.

Ainsi, le postback sera invisible.
lundi 23 mars 2009 à 13:41:21 | Re : Récupérer la valeur séléctionnée dans une DropDownList

pigeon11

Bonjour,
Merci pour votre réponse.

1- ça marche si je met le fonction javascript dans le onchange de la liste.
    ça marche passi je mets :

Protected Sub DropDownList1_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        DropDownList1.Attributes.Add("onchange", "coco(this.selectedIndex)")
 End Sub

              ---------------------------------------------------------------------------

2- quand je selectionne un élément de la liste il s'affiche dans le textbox mais je veux aussi exécuter un code vbnet dans lequel je fais une recherche dans la bse de données suivant l'élément séléctionné.
C'est pas possible d'appeler un code vbnet dans une fonction javascript, c'est pourquoi je ne sais pas comment résoudre ce problème.

                             -------------------------------------------------------------------

3- Dans ma page j'ai un bouton ajouter, et des textbox,
    quand j'ajoute un nouvel élément dans la base de données, je veux que ma liste se
    mette à  jour automatiquement par le nouvel élément. voila ce que j'ai fait :

  function ajouterdansliste(){

var newOption = document.createElement('<option value=' & document.getElementById("textbox1").value  &  '>');

document.all.maliste.options.add(newOption);

newOption.innerText = document.getElementById("textbox1").value + "("+ document.getElementById("textbox2").value + ")";
}


quand je clique sur le bouton ajouter, un code en vbnet s'exécute pour insérer le nouvel élément dans la base de donner et en meme temps j'ai mis dans le onclick du bouton ajouter la fonction ajouterdansliste(). 
j'ai un message d'erreur me disant que la fonction n'appartient pas à la page page.aspx

Meme si j'appelle la fonction dans response.write  ça marche pas. le nouvel élément n'apparait pas dans la liste.

Merci pour vos aides
lundi 23 mars 2009 à 14:02:02 | Re : Récupérer la valeur séléctionnée dans une DropDownList

ggtry

Bonjour,

Dans ce cas, tu dois passer par de l'ajax, comme te le conseille titeoe. Tu pourras ainsi tout faire en vb, et ne plus écrire de javascript. Renseigne toi de ce côté.
Mais fais attention : dans ton point n° 3, tu veux renseigner ta base de données (donc côté serveur), mais en ajoutant la nouvelle entrée dans ta liste dans le code client ! Non, il faut que tu fasses tout côté serveur...
L'ajax permettra en tout cas de faire ce que tu veux faire : mais essaie aussi de bien faire la part entre ce qui peut se faire côté client et ce qui doit se faire côté serveur. Pour qu'un code vb s'exécute il faut nécessairement qu'il y ait postback intégral, ou partiel (par exemple avec de l'ajax), de ta page (ce code n'est pas exécuté dans le navigateur, comme l'est le javascript, mais sur le serveur).
Avant de passer par une solution ajax, tu devrais peut-être d'abord commencer par mettre à jour ta liste en te contentant du postback habituel (avec rafraîchissement complet). Puis, une fois que tu auras réglé ce problème, renseigne toi sur l'ajax pour ne rafraîchir ta page que partiellement.


GGtry
lundi 23 mars 2009 à 15:34:14 | Re : Récupérer la valeur séléctionnée dans une DropDownList

pigeon11


Est ce que vous pouvez m'aider à rafraichir ma liste en utilsant ajax vue que je ne l'ai jamais utilisé ?

Merci
lundi 23 mars 2009 à 15:54:17 | Re : Récupérer la valeur séléctionnée dans une DropDownList

pigeon11


  je ne trouve pas un exemple de rafraichissement d'une dropdownlist en utilisant ajax.

mardi 24 mars 2009 à 10:16:43 | Re : Récupérer la valeur séléctionnée dans une DropDownList

titeoe

tout est dans les posts :

je cite ggtry : "Avant de passer par une solution ajax, tu devrais peut-être d'abord commencer par mettre à jour ta liste en te contentant du postback habituel (avec rafraîchissement complet)."

je cite titeoe : "mettre ton textBox et ta dropdownlist dans un update panel"

Il n'y a rien de plus a faire.
mardi 24 mars 2009 à 12:15:07 | Re : Récupérer la valeur séléctionnée dans une DropDownList

pigeon11

Merci pour votre réponse.

 

1- Donc je vais ajouter un updatepanel dans lequel je vais mettre une dropdownlist, mes textbox et le bouton ajouter.

     Quand je clique sur le bouton ajouter j'appelle un code vbnet qui va insérer le nouvel élément dans la basede

    données :
    ( 

     ProtectedSub ajouter_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles ajouter.Click

      )
 et l'élément vas etre automatiquement ajouté dans la dropdownlist .

 C'est juste ?

2- comment ajouter les controles d'ajax dans la toolbox parceque je ne trouve pas le updatepanel ?

Merci

mardi 24 mars 2009 à 14:35:34 | Re : Récupérer la valeur séléctionnée dans une DropDownList

ggtry

Bonjour,

Si tu ne vois pas l'updatepanel, c'est que les composants ajax ne sont pas encore installés. Voici un lien pour le téléchargement :

[ Lien ]

Ici, un tuto qui pourra peut-être t'aider pour l'installation (il y a peut-être mieux comme tuto, mais j'ai pris le premier venu en français) :

http://msdn.microsoft.com/fr-fr/asp.net/bb758858.aspx

Si tu pars d'un projet déjà existant, tu devras modifier ton web.config (voir tuto, vidéo 2, je crois).
D'autre part, il ne suffit pas rigoureusement d'un updatepanel, il faut aussi un scriptmanager, et mettre tes contrôles dans un contenttemplate.

Pour t'aider une fois que tu auras correctement installé ajax, je t'envoie un exemple simple où je mets une ddl, un textbox et un button dans un updatepanel. Sur un buttonclick, je commande un insert (en ayant déjà défini l'insert command dans mon sqldatasource) avec comme paramètre le text de la textbox, qui ajoute ce texte à la table qui sert à remplir le ddl. Ce texte sera directement ajouté à la ddl.

Code vb   

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        If Trim(TextBox1.Text) <> "" Then
            SqlDataSource1.InsertParameters(0).DefaultValue = TextBox1.Text
            SqlDataSource1.Insert()
        End If
    End Sub

Code asp :

    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
         <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="Nom" DataValueField="idNom">
        </asp:DropDownList>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        </ContentTemplate>
        </asp:UpdatePanel>
       <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ Ta connection String %>"
            SelectCommand="SELECT Nom, idNom FROM Ta_Table ORDER BY Nom" InsertCommand="INSERT INTO Ta_Table (Nom) VALUES (@Nom)">
            <InsertParameters>
                <asp:Parameter Name="Nom" Type="string" />
            </InsertParameters>
        </asp:SqlDataSource>
    </div>
    </form>

GGtry


1 2

Cette discussion est classée dans : textbox, javascript, récupérer, page, dropdownlist


Répondre à ce message

Sujets en rapport avec ce message

Récupérer les paramètres d'une page asp en javascript [ par rw72000 ] Comment faut-il faire pour récupérer les paramètres d'une page asp dans une fontion jscript.En vbscript ça donne request("machin")Seulement ça n'exist [Pb]UserControl [ par Alex28 ] Salut Amis développeurs!! Petit soucis de UserControl. J'ai placé dans ma page .ascx une DropDownList et je voudrais récupérer la valeur de l'item sé Communication Javascript <> Asp.net [ par javajavajava ] Bonjour,J'utilise un calendrier popup en javascript pour choisir une date qui se met ds une textbox javascript aussi. J'ai 2 problemes : 1- qd je raff récupération de la valeur d'un textbox en javascript [ par babybutt ] Bonjour, j'ai un textbox dont j'aimerais récupérer la valeur pour le passer en paramètre à un popup ouvert par du javascript. Résumé : J'ai une page Récupérer en javascript un textbox [ par martingal ] Bonjour à tous, Je charge en textbox ( <asp:textbox id="news" récupérer les valeurs saisis des 'textBox' [ par da7a68 ] Salut. Je développe une application web et j'aime bien savoir comment récupérer les valeurs saisis dans les 'textBox' de la page Forms pour les util Textbox gardant ancienne valeur [ par Jojo092 ] Bonjour, j'ai un souci, surement de novice d'ailleurs, mais bon, je cherche depuis tout à l'heure en vain... J'ai une page aspx contenant une textbo Probleme de validation textbox par entrée [ par nerone21 ] Bonjour à vous... Je suis tout nouveau dans l'asp.net 2.0 Voilà mon problème : j'ai une page avec un tableau de 3 lignes: - 1ère : un imagebutton en probléme avec code javascript dans une page asp [ par oussama112 ] Catégories Cuisson <a href="" title="Acheter votre Cuisinières 50, 60, 90 Récupérer la valeur "Selected" d'une DropDownList avec JavaScript [ par SegmaMic ] Bonjour, J'aimerais votre avis sur la chose : J'ai une DropDownList tout a fait classique dont j'aimerai récupérer la valeur "selected" par le clien


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,636 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales