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

[ASP] utilisation de <select selected=selected >


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut [ASP] utilisation de <select selected=selected >
    Bonjour à tous,

    Voilà, alors mon problème est des plus simple, mais je sèche à fond.

    Pour commencer, toute petite introduction. Je réalise un site en intranet pour un petit inventaire de matos informatique. Pour le moment, tout va pour le mieux, c'est pas joli, mais fonctionnel.

    Dans une de mes pages, j'affiche le détail par utilisateur.
    - ordinateurs associés;
    - écrans associés;
    - imprimantes associées;
    - ....

    en dessous de chaque tableau, un petit formulaire contenant simplement l'id du user en question. Lors de la validation, redirection vers un page spécifique en fonction du choix.

    La page en question, permet d'ajouter un matériel (ordi pour l'une, écran pour l'autre ...). Lorsque je suis sur ces pages d'ajout, je récupères la liste des utilisateurs se trouvant dans ma BDD et les placent dans un <select>.

    Maintenant le problème. Lorsque je viens de la page de détail, et que je clique sur le bouton de submit du formulaire, j'arrive bien sur la page en question, mais je n'arrive pas à sélectionner le bon user dans le select.
    Voilà comment je fais :
    Code ASP : 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
     
    <% ' tout au début de mon fichier
    vbid=Request.Form("id") %>
    <label>Utilisateur : </label>
    valeur de vbid: <%=vbid%>  <!-- contient la bonne valeur -->
    <% 'liste des users
    	Set Rs = Server.CreateObject("ADODB.Recordset")
    	sql="SELECT * from utilisateurs"
    	Rs.Open sql, Conn
     
    	if Rs.eof = true then%>
    		<div class="error">Aucun utilisateur disponible</div>
    		<a href="addUser.asp">Ajouter un utilisateur</a>
    	<%else
    		Rs.MoveFirst
    		response.write "<select name=iuser>"
    		do while not Rs.eof
    			if vbid=Rs("num") then
    				response.write "<option value='"&Rs("num")&"' selected=""selected"">"&Rs("nom")&" "&Rs("prenom")&"</option>"
    			else 
    				response.write "<option value='"&Rs("num")&"'>"&Rs("nom")&" "&Rs("prenom")&"</option>"
    			end if
    			Rs.MoveNext
    		loop
    		response.write "</select>"
    	end if
    %>

    Au niveau de la page détail, mon formulaire ressemble à çà:

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form method="post" action="addPc.asp">
    <input type="hidden" name="id" value="<%=Request.QueryString("id")%>" />
    <input type="submit" value="Ajouter un ordinateur" />
    </form>
    Request.QueryString permet de savoir quel utilisateur il faut afficher, car auparavant j'affiche la liste des utilisateurs
    J'ai tout essayer, de mettre SELECTED, selected=selected, ...

    Je pense que ça pourrait venir de ceci:

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

    que j'ai placer tout au dessus de mon fichier en question.

    Pourrais-je donc obtenir une confirmation la dessus, et une solution de comment réussir à me placer au bon endroit dans mon select?

    En espérant avoir été clair dans mes explications, je vous remercie tous d'avance pour l'aide que vous pourrez m'apporter.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 251
    Par défaut
    Je ne passe qu'en vitesse et n'ai retenu que tu souhaitais sélectionner un item d'un select.

    De tête et ça fait un moment que je n'ai pas fait cela, as-tu essayé un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.Form.nom_du_select.options[index].selected = true
    mais ça c'est du javascript

  3. #3
    Poumtschak
    Invité(e)
    Par défaut
    Si tu es sûr que la variable vbid est bien valorisée, et que sa comparaison avec le contenu de la colonne "num" est valide (même type), ceci devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <%
    Do While Not Rs.EOF
    %>
    <option value="<%= Rs("num") %>"<% If vbid = Rs("num") Then %> selected="selected"<% End If %>><%= Rs("nom") & " " & Rs("prenom") %></option>
    <%
      Rs.MoveNext
    Loop
    %>
    Been there, done that.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Webmaster Pays Basque
    Inscrit en
    Avril 2004
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster Pays Basque
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 207
    Par défaut
    As tu essayé de controler la valeur numérique de ta variable par rapport à ton recordset genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="<%= Rs("num") %>"<% If clng(vbid) = clng(Rs("num")) Then %> selected="selected"<% End If %>><%= Rs("nom") & " " & Rs("prenom") %></option>

  5. #5
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut
    Bonjour à tous,

    Je viens d'essayer la méthode de Poumtschak, et cela ne marche pas.

    Je pense que vous avez raison, les types ne correspondent pas, mais comment en être sûr, et comment les faire correspondre?

  6. #6
    Membre expérimenté
    Homme Profil pro
    Webmaster Pays Basque
    Inscrit en
    Avril 2004
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster Pays Basque
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 207
    Par défaut
    Fais un response.write de ton select pour voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <% Do While Not Rs.EOF
    response.write "Vbid:"& vbid &"="& "Rs:"& Rs("num")&"<br>"
      Rs.MoveNext
    Loop %>
    et regarde tes valeurs...

  7. #7
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <option <%If vbid = Rs("num") Then response.write "selected"%> value="<%= Rs("num") %>"><%= Rs("nom") & " " & Rs("prenom") %></option>

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

Discussions similaires

  1. select in (select in (select in etc.))
    Par Christophe P. dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/01/2015, 11h34
  2. Réponses: 6
    Dernier message: 20/11/2007, 11h14
  3. [PL/SQL] utilisation de variables dans un select?
    Par Dr Kraft dans le forum SQL
    Réponses: 8
    Dernier message: 11/10/2006, 10h17
  4. [ASP][SQL]Erreur lors d'un select
    Par DEC dans le forum ASP
    Réponses: 12
    Dernier message: 08/06/2004, 17h54
  5. Réponses: 6
    Dernier message: 08/06/2004, 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