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 :

Garder fixe la sélection d'une liste déroulante


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut Garder fixe la sélection d'une liste déroulante
    Bonjour,

    C'est encore moi,

    Ptite question, j'ai une liste déroulante avec les nom des employés provenant de ma base access; lorsque je choisis une personne dans la liste, j'effectue un " onchange" et les données de cette personne s'affiche...le problème est que, dans la liste déroulante, j'ai le nom de la premiere personne de ma base qui se réaffiche a chaque fois.

    Comment fait on pour garder selectionner la personne que l'on a choisit ??

    Un ptit bout de code vaut mieux qu'un long discours :

    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
     
     
    <script language="JavaScript">
    function Val_Recherche()
    {
    	rechercheform.submit();
    }
    </script>
    <body>
     
    <p><font face="Arial" color="#000080">
      <b><u>Liste des employés :</u></b>
      </font></p>
    <form name="rechercheform" method="post" action="">
      <label>Recherche
      <select name="select" type="text" OnChange="rechercheform.target='_self';rechercheform.action='listeforme.asp';Val_Recherche();">>
        <%
    While (NOT Recordset1.EOF)
    %>
        <option value="<%=(Recordset1.Fields.Item("IDMatricule").Value)%>"><%=(Recordset1.Fields.Item("Nom").Value)%>&nbsp;&nbsp;<%=(Recordset1.Fields.Item("Prenom").Value)%></option>
        <%
      Recordset1.MoveNext()
    Wend
    If (Recordset1.CursorType > 0) Then
      Recordset1.MoveFirst
    Else
      Recordset1.Requery
    End If
    %>
      </select>
      </label>
    </form>

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,
    IF RS("ID_Matricule")=request.form("ID_Matricule") THEN
    response.write("<option (...) selected>")
    ELSE
    response.write("<option (...)>")
    END IF
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

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

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

    Une idée ?

    Dans ta page listeforme.asp, tu récupères bien le nom sélectionné dans ta liste. Dans cette même page, tu peux, par exemple, stocker ce nom dans une variable de session que tu pourras alors relire pour marquer comme "selected" ce nom quand tu alimenteras à nouveau ta liste.

    Je suis assez clair ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    heu..comprends pas tres bien ton expliquation pc75 ..sorry

    Mais le truc c'est que le onchange recharge toute la page et nottament la liste déroulante, il faudrait qu'il reste sur la dernière personne sélectionné...doit etre possible qd meme

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Petite précision : Le code que tu as joins correspond bien à 'listeforme.asp' ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    oui

  7. #7
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par hysteresis
    heu..comprends pas tres bien ton expliquation pc75 ..sorry

    Mais le truc c'est que le onchange recharge toute la page et nottament la liste déroulante, il faudrait qu'il reste sur la dernière personne sélectionné...doit etre possible qd meme
    Et mon post alors, tu l'as lu?
    "Winter is coming" (ma nouvelle page d'accueil)

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Alors tu modifies l'appel de ta page en ajoutant en paramètre le nom sélectionné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ...
    rechercheform.action='listeforme.asp?ID=select.value'
    En début de page tu récupères cette valeur avec un request.querystring et tu appliques le code que Immobilis a posté.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    Merci Immobilis

    Ca marche

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    EDIT

    Ca marche a moitié

    Voila comment j'ai modifier le code :

    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
     
     
    <form name="rechercheform" method="post" action="">
      <label>Recherche
      <select name="select" OnChange="rechercheform.target='_self';rechercheform.action='listeforme.asp';Val_Recherche();" type="text">>
        <%
    While (NOT Recordset1.EOF)
     
    If Recordset1("IDMatricule")=Cint(Request.Form("select")) then %>
     
        <option value="<%=(Recordset1.Fields.Item("IDMatricule").Value)%>"selected><%=(Recordset1.Fields.Item("NOM").Value)%>&nbsp;&nbsp;<%=(Recordset1.Fields.Item("Prenom").Value)%></option>
        <%
    	Else%>
    	<option value="<%=(Recordset1.Fields.Item("IDMatricule").Value)%>"<%=(Recordset1.Fields.Item("NOM").Value)%>&nbsp;&nbsp;<%=(Recordset1.Fields.Item("Prenom").Value)%></option>
     
    	<% End If
     
      Recordset1.MoveNext()
    Wend
    If (Recordset1.CursorType > 0) Then
      Recordset1.MoveFirst
    Else
      Recordset1.Requery
    End If
    %>
      </select>
    Lorsque j'affiche ma page, ma liste deroulante est blanche mais j'arrive tout de meme a selectionner ( au hasard une personne ), lorsque je clique dessus j'ai alors le nom qui apparait et la selection reste bloqué sur ce nom ( ca c'est OK ) mais j'ai le reste de ma liste qui est blanche ...bloursppppppppppppppp

  11. #11
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    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
    <form name="rechercheform" method="post" action="">
      <label>Recherche
      <select name="select" id="select" OnChange="this.form.submit();" type="text">>
        <%
    While (NOT Recordset1.EOF)
    %>
         <option value="<%=Recordset1("IDMatricule")%>"selected><%=Recordset1("NOM")%>&nbsp;&nbsp;<%=Recordset1("Prenom")%></option>
    <% 
     Recordset1.MoveNext()  
    Wend
    If Request.Form("select")<>"" then
       Response.Write "<script language=""javascript"">" & chr(10)
       Response.Write "  document.getElementById('select').value='" &      Request.Form("select").Item & "';" & chr(10)
       Response.Write "</script>" & chr(10)
    End If
    je pense ça ce serait plus simple et evites de nommer ton select "select" tu risques des problèmes avec des mots réservés

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    Shame on me !!

    C t un probleme de fermeture de tag !!!!

    Oui je pense que je vais renommer ca, c'est vrai que ca pourrait preter a confusion

    merci pymn

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

Discussions similaires

  1. [ODBC] Garder une saisie après sélection dans une liste déroulante
    Par nawak.seb dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 27/08/2008, 14h48
  2. Réponses: 12
    Dernier message: 23/04/2007, 18h29
  3. Réponses: 2
    Dernier message: 02/03/2007, 22h20
  4. Réponses: 1
    Dernier message: 10/07/2006, 13h40
  5. obliger sélection dans une liste déroulante
    Par doyle01 dans le forum Access
    Réponses: 4
    Dernier message: 15/05/2006, 15h31

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