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

HTML Discussion :

problème avec formulaire html


Sujet :

HTML

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Points : 183
    Points
    183
    Par défaut problème avec formulaire html
    Salut,
    Voilà, j'ai créé un formulaire html, le problème est que quand je clique sur un bouton (submit), je ne récupère que la première valeur entrée dans le formulaire, sachant que je procède comme suit au niveau d'une servlet pour obtenit ma page .html:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (for i=1; i<5;i++)
    {
     création des zones de saisie;
    }
    submit;

    Auriez vous une solution à me proposer ?
    Merci.

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Est ce que tu donne bien des noms différents à tes champs de saisie? Tu peux nous montrer le code html généré et la façon dont tu essaye de récupérer les valeurs saisies?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Points : 183
    Points
    183
    Par défaut
    Bonsoir,
    Voici le code côté servlet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    for (int i=1;i<Integer.parseInt(REPONSE);i++)
    {
    save1[nb]="<h3>Donnez le nombre pour le N° "+i+" : <input type=text"+gg+" name="+gg+"nb"+gg+" size="+gg+"6"+gg+"></h3>";nb++;
     
    save1[nb]="<hr/> <input type="+gg+"submit"+gg+" value="+gg+""+i+"Envoyer"+gg+">";nb++;
     
           }
    save1[nb]="</form>";
    Et celui correspondant à la page html correspondante (générée après avoir choisi nb = 3):
    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
    <html>
    <head>
    <title>Configuration </title>
     </head>
    <body>
    <form method="get" action="formulaire">
    <h3>Donnez le nombre pour le  N° 1 : <input type=text" name="nb" size="6"></h3>
    <hr/> <input type="submit" value="1Envoyer">
    <h3>Donnez le nombre pour le N° 2 : <input type=text" name="nb" size="6"></h3>
    <hr/> <input type="submit" value="2Envoyer">
    <h3>Donnez le nombre  pour le N° 3 : <input type=text" name="nb" size="6"></h3>
    <hr/> <input type="submit" value="3Envoyer">
    </form>
    </body>
    </html>
    Le problème est au niveau des "submit", comment puis je récupérer les 3 données envoyées ?
    Merci.

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Tu n'as pas besoin de 3 submit différent : lors du submit toutes les champs contenus dans le formulaire sont envoyé : 1 seul suffit. Le problème est que tu donne le même nom à tes 3 champs il faudrait qu'ils ait des noms différents pour pouvoir récupérer les 3 valeur après envoi.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Points : 183
    Points
    183
    Par défaut
    Salut,
    Oui, ils ont le même nom parce que j'ai utilisé la boucle "for".
    Que me proposez vous comme solution pour éviter ceci et avoir des noms différents ? (switch par exemple ?)
    Merci.

  6. #6
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Tu peut mettre leur numéro dans le nom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for (int i=1;i<Integer.parseInt(REPONSE);i++)
    {
    save1[nb]="<h3>Donnez le nombre pour le N° "+i+" : <input type=text"+gg+" name="+gg+"nb"+ i + gg+" size="+gg+"6"+gg+"></h3>";nb++;
    }

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Points : 183
    Points
    183
    Par défaut
    Salut,
    Est ce qu'en utilisant un seul "submit" je pourrais tous les récupérer ?
    Merci.

  8. #8
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Oui un submit renvoi tous les champs qui sont dans la même balise form que lui. Dans ton cas il renverra les 3 valeurs.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Points : 183
    Points
    183
    Par défaut
    Bonjour,
    J'ai essayé mais ça donne toujours le même résultat.
    Avez vous une solution ?
    Merci.

  10. #10
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Montre nous ce que tu as fait parce que normalement ça devrait passer.

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Points : 183
    Points
    183
    Par défaut
    Salut,
    J'ai fait exactement ce que vous avez proposé comme solution: ajouter l'indice pour ne pas avoir le même nom des champs.
    J'ai même enlevé la boucle et mis 2 champs complètement différents, il ne renvoi qu'une seule valeur.
    Ce n'est pas dû à la méthode "get" ?

    Je ne sais pas ce que je dois modifier.

  12. #12
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Montre nous ton code HTML. Montre nous aussi la façon dont tu essaye de récupérer les valaeur envoyées par le formulaire.

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Points : 183
    Points
    183
    Par défaut
    Salut,
    Au niveau du servlet, j'ai le code qui permet d'afficher la page html voulue et qui contient le formulaire:
    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
     
    out.println("<html>");
            out.println("<head><title>Formulaire</title></head>");
            out.println("<body bgcolor=\"#ffffff\">");
            out.println("<p>Le servlet a reçu le nombre: "+REPONSE);// + request.getMethod() + ". Ceci est la réponse.</p>");
            //Ce qui sera affiché au niveau de la page html =======
             if (Integer.parseInt(REPONSE)>0) cas = Integer.parseInt(REPONSE);
             {
               nb=0;
               save1[nb]="<html>";nb1++;
               save1[nb]="<head>";nb1++;
               save1[nb]="<title>Configuration</title>";nb1++;
               save1[nb]=" </head>";nb1++;
               save1[nb]="<body>";nb1++;
               for (int i=1;i<Integer.parseInt(REPONSE)+1;i++)
               {
                save1[nb]="<form method="+gg+"get"+gg+" action="+gg+"page"+gg+">";nb1++;
                save1[nb]="<h3>Donnez le nombre pour le N° "+i+" : <input type=text"+gg+" name="+gg+"nb"+i+gg+" size="+gg+"6"+gg+"></h3>";nb1++;
                save1[nb]="<hr/> <input type="+gg+"submit"+gg+" value="+gg+"Envoyer"+gg+">";nb1++;
                save1[nb]="</form>";nb1++;
              }
                save1[nb]="</body>";nb1++;
                save1[nb]="</html>";nb1++;
    Comme vous pouvez le voir, j'ai rajouté ce que vous m'avez conseillé. Mais j'ai mis <submit> et </form> dans la boucle pour pouvoir avoir toutes les valeurs.(y'a autant de formulaires que de données à transmettre)

    Et pour la suite, j'ai le servlet qui reçoit les valeurs entrées dans le formulaire:
    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
     
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
      String MESSAGE,RESTE;
      response.setContentType(CONTENT_TYPE);
      PrintWriter out = response.getWriter();
      REPONSE = request.getParameterNames().nextElement().toString();
      MESSAGE = REPONSE;
     
      if(MESSAGE.substring(0,2).equals((String)"nb"))
    {
     REPONSE = REPONSE.substring(0,2);
     
    if(REPONSE.equals((String)"nb"))
    {
    //traitement des données;  
    }
    Quelle est la solution d'après vous ?

  14. #14
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Citation Envoyé par guigui5931 Voir le message
    Oui un submit renvoi tous les champs qui sont dans la même balise form que lui.
    Il faut donc que tu ais une seule balise form et un submit. Il faut donc que tu les affiche en dehors de la boucle.

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Points : 183
    Points
    183
    Par défaut
    Salut,
    Oui, justement, quand je les mets en dehors de la boucle, je ne reçois pas toutes les valeurs, c'est ça mon problème.

Discussions similaires

  1. Problème avec formulaire de suppression d'entrée
    Par mickado dans le forum Langage
    Réponses: 19
    Dernier message: 18/04/2007, 18h12
  2. [Conception] Problème avec formulaire
    Par snakejl dans le forum PHP & Base de données
    Réponses: 34
    Dernier message: 27/06/2006, 11h25
  3. Excel 2000 FR et problème avec le HTML 4.01
    Par MC2 dans le forum Excel
    Réponses: 5
    Dernier message: 30/04/2006, 10h48
  4. problème avec formulaire et sous formulaire
    Par Lnjam dans le forum Access
    Réponses: 2
    Dernier message: 28/01/2006, 17h52
  5. problème avec formulaire et BDD
    Par pmboutteau dans le forum ASP
    Réponses: 1
    Dernier message: 24/08/2005, 10h56

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