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 champs avec même nom


Sujet :

ASP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 25
    Points : 18
    Points
    18
    Par défaut ASP champs avec même nom
    Allo,

    Dans un des mes formulaires d'une de mes pages, j'ai plusieurs champs (textBox) qui contiennent les même noms. Pour les besoins de la cause, j'ai besoins qu'ils aient les même noms. Alors là, je veux récupérer la valeur du premier champs. Je fais alors request.form("champs(0)") pour récupérer le premier et request.form("champs(1)") pour le deuxième.....Mais mon problème c'est que le request.form ne fonctionne pas et je ne peux conserver la valeur ou la prendre. Est ce la bonne façon de récupérer des champs avec les mêmes nom?

    Merci beaucoup!

  2. #2
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    split(request.form,"&")
    te donne un tableau avec la chaîne nomduchamps=valeur.
    Donc ensuite tu peux encore spliter sur le signe = ou bien jouer avec les left, mid et right. Comme tous les champs ont le même nom ça devrait être encore plus simple.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    Merci...mais.... J'aimerai pour commencer pouvoir conserver la valeur du champs quand je reppelle la page. Qu'es ce que je dois marquer dans value"" si cela ne fonctionne pas:

    value="request.form("champs(0)")"

    Étant donné que j'ai plusieurs champs avec le même nom, je dois spécifier quel champs je veux. Et les parenthèse avec le chiffre ne fonctionnne pas?

    Merci

  4. #4
    Membre éprouvé
    Avatar de jérôme
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    591
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 591
    Points : 1 071
    Points
    1 071
    Par défaut
    Pour accéder à un champ particulier dans un groupe de champs qui portent le même nom, tu le considères comme un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    value = request.form("champ")(1) ' pour le 1er élément

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    Merci Jérôme, mais la j'ai encore un message d'erreur? Il me dit:

    "An array index is out of range"

    Pourtant, j'ai 10 champs avec le même nom? Il m'envoie ce message au premier champs des dix qui s'appelle "poste". Voici la ligne ou il me donne l'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="poste" size="45" value="<%=request.form("poste")(1)%>">
    J'ai aussi assayer un mettre un 0 à la place du 1 et j'ai le meme message?

    Merci...

  6. #6
    Membre éprouvé
    Avatar de jérôme
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    591
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 591
    Points : 1 071
    Points
    1 071
    Par défaut
    Quand tu écris ce que tu as écris, cela suppose que poste est bien un tableau, donc que tu récupères bien ton formulaire.
    Si ce n'est pas le cas, ça plante.
    Il faut donc tester si request.form("post") est un tableau (fonction isarray()) et si c'est le cas tu récupères la valeur i et tu la mets comme valeur par défaut sinon tu ne mets rien.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    ouf! ok. j'ai eu peu de difficulté à comprendre

    Si je comprend bien, je crois créer un tableau avec le champs "poste"?

    Qu'es ce que je ne comprend pas aussi, c'est pourquoi je dois vérifier si c'est un tableau, le tableau ne se créer pas automatiquement quand j'ai plusieurs champs avec le même nom? Et si ce n'est pas un tableau et que je dois le créer, pourquoi utiliser le i?

    Ce serait vraiment gentil de me donner plus de précision...je ne connais pas cette méthode de tableau?

    J'ai rechercher beaucoup sur internet et je ne trouve rien à ce sujet, alors si tu as un lien au pire qui t'éviterai de ton m'expliquer de A a Z, ce serais excellant.

    Merci

  8. #8
    Membre éprouvé
    Avatar de jérôme
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    591
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 591
    Points : 1 071
    Points
    1 071
    Par défaut
    Le déroulement normal de l'appli, sans tenir compte du fait que ça se passe sur la même page c'est
    formulaire -- validation --> récupération du formulaire et affichage des données

    sauf que toi (si j'ai bien compris), tu fais tout sur la même page asp. Seulement, si je reprends mon petiti schéma, quand tu arrives sur le formulaire pour la 1ère fois, il est vide (pas de valeurs par défaut puisque pas encore soumis), donc la collection form de l'objet request (autrement dit request.form) est vide !!!
    Or toi, tu essaies d'afficher comme valeurs par défaut des champs text poste le contenu de chaque élément du tableau request.form("poste"), tableau qui n'existe par conséquent pas encore. Et c'est là que tu as ton erreur, c'est exactement ce que te dit le message d'erreur.
    Donc il suffit simplement avant chaque champs text poste de tester si request.form est un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <%
    if isarray(request.form("poste")) then
      valeurdefaut = request.form("poste")(1)
    else
      valeurdefaut = ""
    end if
    %>
    <input type="text" name="poste" size="45" value="<%=valeurdefaut%>">
    Voilà, et tu répètes ça pour chacun de tes champs, en changeant à chaque fois l'indice. Evidemment, ce code n'est pas très optimisé mais c'est juste pour l'exemple

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    GOOD!!! Merci beaucoup Jérôme! Tu as tout saisie de mon problème. J'avais oublier que lors de l'appel de la page la première fois que le tableau n'était pas créer et c'est pour ça qu'il ne trouve pas l'index!

    Merci beaucoup de ton temps et de ton support

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

Discussions similaires

  1. [PHP 5.1] Récupérer deux champs avec même nom
    Par Federico_muy_bien dans le forum Langage
    Réponses: 10
    Dernier message: 05/08/2010, 17h42
  2. Réponses: 1
    Dernier message: 31/05/2006, 17h59
  3. requete sur 2 tables liées avec même nom de champs
    Par Australia dans le forum Access
    Réponses: 5
    Dernier message: 02/02/2006, 11h38
  4. suppression produit avec même nom
    Par betaphp dans le forum Langage SQL
    Réponses: 18
    Dernier message: 29/11/2005, 22h32
  5. Récupérer tous les champs de même nom
    Par hlr dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/02/2005, 13h26

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