Accueil > Forum > > > > Récupérer la valeur séléctionnée dans une DropDownList
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
|
|
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
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
STABILITé DU DéBIT 3GSTABILITé DU DéBIT 3G par benzekrighizlane
Cliquez pour lire la suite par benzekrighizlane
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|