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

Servlets/JSP Java Discussion :

récupérer les valeurs de checkbox


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 24
    Points : 6
    Points
    6
    Par défaut récupérer les valeurs de checkbox
    Bonjour à tous,

    J'ai un petit problème et j'espère que vous pourrez m'aider...
    Voilà, je fais un site intranet en jsp/java. Il y a un formulaire avec des checkbox. Le problème est que je ne sais pas comment récupérer les valeurs des checkbox... Le nombre de checkbox n'est pas défini, il dépend du nombre de tuples dans une des tables de la base de données. Pouvez vous me dire comment faire svp?

    Merci beaucoup

    Liichiii

    [ Sujet déplacé depuis le forum Java par Viena ]
    Les Règles du Forum

  2. #2
    Membre habitué Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    Par défaut Re : checkbox
    En fait si, le nombre de checkbox est fixe : tu as une seule checkbox par tuple !

    Donc il faut que tu te positionnes sur le bon tuple, càd le tuple courant (je ne sais pas ce que tu utilises comme logiciel, mais ca devrait ressembler à ca : #{currentRow['column_with_checkbox']}) avant de récupérer sa valeur, ce qui devrait ressembler à ca, j'imagine (en fait moi je fais comme ça mais il ne s'agit pas d'une checkbox) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getValue("#{currentRow['column_checkbox']}")
    Dis moi si ca correspond bien à ta solution, et je serai également curieux de savoir sur quelle IDE tu travailles... Moi j'utilise Sun Java Studio Creator, et j'ai un peu de mal à trouver d'autres personnes l'utilisant.

    Hope this helps

    Original Prankster
    Ingénieur Génie Logiciel et Systèmes d'Information
    Management des Nouvelles Technologies

    Ecole Supérieure d'Ingénieurs de Luminy (ESIL), Marseille

  3. #3
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Bon, normalement tu dois avoir un truc de ce style :
    Dans ton form, tu as par exemple ton attribut cases qui est un tableau d'entier (par exemple)
    Dans ta JSP, tu as pour chaque ligne ce code pour afficher ton checkbox et y affecter la value (ici, un id).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="cases[]" type="checkbox" value="id">
    C'est cette value que tu va recupérer quand tu vas valider ton form. cad que tu récupéreras dans ton tableau d'entier de ton form la liste des id selectionnés.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 24
    Points : 6
    Points
    6
    Par défaut
    merci beaucoup!! je vais essayer ce que vous m'avez dit et je vous en dirai des nouvelles!!

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 24
    Points : 6
    Points
    6
    Par défaut
    alors g essayé ce que viena m'a dit mais ça marche po
    voici mon 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
    27
     
    <table>
    <form action="..." method="...">
    <%String nominscrit;
    String nomequipe;
    String nomresp;
    String semaine;
    String[] cases = new String[recupInfos.recupNbTuples("inscritsformation")];
     while (r.next())
      {
        nominscrit = r.getString(3);
        nomequipe = r.getString(4);
        nomresp = r.getString(5);
        semaine = r.getString(6);%>
        <tr><td><%=nominscrit%></td>
               <td><%=nomequipe%></td>
               <td><%=nomresp%></td>
               <td><%=semaine%></td>
               <td><input name="cases[]" type=checkbox value="<%=nominscrit%>"></td>
        </tr>
    <%  }%>
    <input type=hidden name="id" value="<%=id%>">
        <tr><td><input type="submit" value="envoyer"></td>
               <td><INPUT TYPE="RESET" VALUE="Annuler"></td>
        </tr>
    </form>
    </table>
    quand je valide le form, j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <%String idformation = request.getParameter("id");
    int id = Integer.parseInt(idformation);
            
    int nb = recupInfos.recupNbTuples("inscritsformation");
    String[] cases = new String[nb];
            
    int i = 0;
    while (cases[i] != null)
      {
          modifInfos.modifPrevFormation(id, request.getParameter("cases[i]"))
          i++;
       }%>

    recupNbTuples récupère le nombre de tuples d'une table et modifPrevFormation met un champ de la table inscritsformation à OUI.

    mon problème est que les valeurs qui sont dans le tableau cases kan je valide le formulaire sont toutes nulles. Savez vous pourquoi?

    Merci d'avance

  6. #6
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Il me semble normal que les valeurs du tableau cases soient nulles en codant ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String[] cases = new String[nb];
    Essaie plutôt ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String[] cases = request.getParameterValues("cases");
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String[] cases = request.getParameterValues("cases[]");
    Dans le getParameterValues, il me semble qu'il faut mettre le nom de ta checkbox. A tester.
    Modératrice Java - Struts, Servlets/JSP, ...

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 24
    Points : 6
    Points
    6
    Par défaut
    merci bcp, cke tu m'as proposé marche nickel!!

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/06/2010, 10h49
  2. Réponses: 1
    Dernier message: 18/04/2007, 06h05
  3. Récupérer les valeurs d'une collection de checkbox
    Par licorne dans le forum Langage
    Réponses: 4
    Dernier message: 27/10/2006, 12h53
  4. Récupérer les valeurs du checkbox
    Par kcizth dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2006, 09h16
  5. [PHP-JS] Récupérer les valeurs des checkbox
    Par jamirokoi dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2006, 16h24

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