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

Delphi Discussion :

[ISAPI] Comment récupérer des paramêtres multiples d'un formulaire ?


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 42
    Points : 26
    Points
    26
    Par défaut [ISAPI] Comment récupérer des paramêtres multiples d'un formulaire ?
    Bonjour,

    Mon problème est le suivant :

    J'envois à une dll ISAPI un requête émanant d'un formulaire HTML ayant ( entre-autre ) des listes déroulantes à choix multiple. Dans mon " Web Action " correspondant, je ne trouve pas la méthode pour pouvoir récupérer " directement " l'ensemble des valeurs sélectionnées pour une liste déroulante.

    En utilisant la méthode suivante, je n'obtiens que la première valeur sélectionnée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Request.ContentFields.Values['NAME']
    J'en viens à me demander si je ne dois pas récupérer l'ensemble de la requête pour ensuite la traiter "manuellement"...

  2. #2
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Quel version de Delphi est-ce ?
    "Si vous voulez être l’esclave des banques et payer pour financer votre propre esclavage, alors laissez les banquiers créer la monnaie" - Josiah Stamp, 1920, Gouverneur de la Banque d’Angleterre
    "Qui ne peut acheter ruine qui voudrait vendre" - Jacques Duboin.
    "Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants." - Antoine de Saint Exupéry

  3. #3
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    Si tu fais un envoi en GET, qu'as-tu dans l'URL ?

  4. #4
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Avec un get on a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8282/Tests/ISAPITest.dll?choix=ch1&choix=ch2
    Donc, on a plusieurs fois l'entrée portant le nom de la listbox. Il faut lister et tester.
    Par exemple:
    Code delphi : 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
    procedure TWbPrincipal.WbPrincipalwactCtrlTestAction(Sender: TObject;
      Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
    var
      vIndice: Integer;
      vChamps: TStrings;
    begin
      if Request.MethodType = mtPost then
        vChamps := Request.ContentFields
      else
        vChamps := Request.QueryFields;
     
      Response.Content := '<html><body><ul>';
     
      for vIndice := 0 to vChamps.Count-1 do
        // Tester ici si avant la chaine commence par le nom de la ListBox
        Response.Content := Response.Content + '<li>' + vChamps[vIndice] + '</li>';
     
     
      Response.Content := Response.Content + '</ul></body></html>';
    end;

    Avec comme html :
    Code html : 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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=windows-1250">
      <meta name="generator" content="PSPad editor, www.pspad.com">
      <title></title>
      </head>
      <body>
      <form action="http://localhost:8282/Tests/ISAPITest.dll" method="get">
    <select name="choix" multiple>
     <option value="ch1">Choix 1</option>
     <option value="ch2">Choix 2</option>
     <option value="ch3">Choix 3</option>
    </select>
    <input type="submit">
     
    </form>
      </body>
    </html>
    "Si vous voulez être l’esclave des banques et payer pour financer votre propre esclavage, alors laissez les banquiers créer la monnaie" - Josiah Stamp, 1920, Gouverneur de la Banque d’Angleterre
    "Qui ne peut acheter ruine qui voudrait vendre" - Jacques Duboin.
    "Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants." - Antoine de Saint Exupéry

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 42
    Points : 26
    Points
    26
    Par défaut
    Merci pour les réponses. J'avais oublier de préciser que je suis sous D7 et le formulaire utilise la méthode "POST". La réponse de neilbgr est impeccable pour moi

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/09/2012, 08h52
  2. Comment récupérer des paramètre de l'url ?
    Par link256 dans le forum GWT et Vaadin
    Réponses: 6
    Dernier message: 20/07/2010, 16h44
  3. Comment récupérer des données de Outlook Express ?
    Par frenchsting dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 29/04/2005, 11h07
  4. Réponses: 7
    Dernier message: 30/12/2004, 12h01
  5. Réponses: 6
    Dernier message: 28/09/2003, 17h49

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