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

Struts 1 Java Discussion :

Problème avec html:radio


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut Problème avec html:radio
    Bonjour,

    J'ai le problème suivant : je voudrai créer un formulaire contenant plusieurs champs mais dont le nombre de lignes n'est pas fixe. Mon formulaire peut par exemple contenir trois lignes avec les mêmes champs pour chacune. Il se trouve que l'un des champs de ce formulaire est un radio bouton. Le problème c'est que celui ci est exclusif pour une ligne (jusque la tout va bien), mais aussi pour toutes les lignes : si je coche sur une ligne, ça vide toutes les autres. Or je voudrai pouvoir faire un choix avec mon radio bouton pour chaque ligne de mon formulaire.
    Comment faire?
    Merci pour vos idées.
    Coralie.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Bonjour,

    Struts ou pas Struts ? Ton titre laisse planer le doute.

    Eric

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Oui, j'utilise struts

  4. #4
    Membre habitué Avatar de nikalkal
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 231
    Points : 166
    Points
    166
    Par défaut
    un bout de code serait le bienvenu je pense.
    -> L’amour est à la portée de tous, mais l’amitié est l’épreuve du cœur
    -> La nature nous a donné deux oreilles et seulement une langue afin de pouvoir écouter d'avantage et parler moins
    -> Trois sortes de gens disent la vérité : les sots, les enfants et les ivrognes




  5. #5
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Le schéma de mon formulaire est celui sur la pièce jointe. Le problème est que le formulaire peut avoir un nombre dynamique de lignes.
    Images attachées Images attachées  

  6. #6
    Membre habitué Avatar de nikalkal
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 231
    Points : 166
    Points
    166
    Par défaut
    Et quand tu coche un bouton radio sur une ligne, les boutons radios des autres lignes se décochent? c'est ça?

    Ps: bizarre qu'elle apparaisse pas l'image alors que le lien est bon.
    -> L’amour est à la portée de tous, mais l’amitié est l’épreuve du cœur
    -> La nature nous a donné deux oreilles et seulement une langue afin de pouvoir écouter d'avantage et parler moins
    -> Trois sortes de gens disent la vérité : les sots, les enfants et les ivrognes




  7. #7
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Et quand tu coche un bouton radio sur une ligne, les boutons radios des autres lignes se décochent? c'est ça?
    Oui c exactement ça !

  8. #8
    Membre habitué Avatar de nikalkal
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 231
    Points : 166
    Points
    166
    Par défaut
    Bein faudrait voir ton code mais c'est probablement que tes html:radio ont le même identifiant.

    Si tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:radio name="formulaire" property="radio1">1</html:radio>
    <html:radio name="formulaire" property="radio1">2</html:radio>
    <html:radio name="formulaire" property="radio1">3</html:radio>
    Comme l'identifiant est le même forcément quand t'en coche un tous les autres s'effacent.

    Par exemple si tu fesais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:radio name="formulaire" property="radio1">1</html:radio>
    <html:radio name="formulaire" property="radio2">2</html:radio>
    <html:radio name="formulaire" property="radio3">3</html:radio>
    Tu pourrait cocher tous tes boutons radios sans effacer les autres.

    Je pense que c'est ton cas car tu dois afficher tes lignes avec une boucle et donner les mêmes propriétés à tous tes radios de toutes tes lignes.

    Si c'est pas ça, donne ton code qu'on puisse voir ce que tu fais.

    @+
    -> L’amour est à la portée de tous, mais l’amitié est l’épreuve du cœur
    -> La nature nous a donné deux oreilles et seulement une langue afin de pouvoir écouter d'avantage et parler moins
    -> Trois sortes de gens disent la vérité : les sots, les enfants et les ivrognes




  9. #9
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Oui c le cas en effet. Pour chaque ligne j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <td align="center">
        <html:radio property="technique" value="true"/>
    </td>
    <td align="center">
        <html:radio property="technique" value="false"/>
    </td>
    Mais je vois pas comment faire autrement puisqu c des lignes d'un meme formulaire...

  10. #10
    Membre habitué Avatar de nikalkal
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 231
    Points : 166
    Points
    166
    Par défaut
    Citation Envoyé par cipotesi
    Oui c le cas en effet. Pour chaque ligne j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <td align="center">
        <html:radio property="technique" value="true"/>
    </td>
    <td align="center">
        <html:radio property="technique" value="false"/>
    </td>
    Mais je vois pas comment faire autrement puisqu c des lignes d'un meme formulaire...
    Bein dans ce cas, ta property technique est soit false soit true donc tu ne dois pouvoir en cocher qu'une.
    Mais si tu as une deuxième ligne, tu dois avoir property="technique2" que tu peux mettre à true ou false également.

    Si tu fais :
    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
     
    <tr>
      <td align="center">
        <html:radio property="technique" value="true"/>
      </td>
      <td align="center">
        <html:radio property="technique" value="false"/>
      </td>
    </tr>
    <tr>
      <td align="center">
        <html:radio property="technique" value="true"/>
      </td>
      <td align="center">
        <html:radio property="technique" value="false"/>
      </td>
    </tr>
    forcément une seule des 4 pourra être cochée.

    Tu es obligé de donner une property différente à ta deuxième ligne.
    Ex :
    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
     
    <tr>
      <td align="center">
        <html:radio property="technique" value="true"/>
      </td>
      <td align="center">
        <html:radio property="technique" value="false"/>
      </td>
    </tr>
    <tr>
      <td align="center">
        <html:radio property="technique2" value="true"/>
      </td>
      <td align="center">
        <html:radio property="technique2" value="false"/>
      </td>
    </tr>
    -> L’amour est à la portée de tous, mais l’amitié est l’épreuve du cœur
    -> La nature nous a donné deux oreilles et seulement une langue afin de pouvoir écouter d'avantage et parler moins
    -> Trois sortes de gens disent la vérité : les sots, les enfants et les ivrognes




  11. #11
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    oui mais la property correspond à un champs dans mon formulaire... Comme je ne sais pas combien j'aurai de ligne, j'ai créé un "tableau de formulaire" en fait un tableau d'objet Zone qui lui contient tous les champs necessaires...

    Est ce q tu comprend le problème? Si je met un property différent, il va me dire qu'il ne trouve pas les getters et setters pour technique2...

  12. #12
    Membre à l'essai
    Inscrit en
    Août 2003
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Perso, j'ai un peu de mal à saisir. Je comprendrais peut être mieux si tu répondais à la question suivante :
    Pourquoi ne pas utiliser des checkbox ?

  13. #13
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Parce que je veux un choix exclusif pour chaque ligne. Avec une checkbox, tu peux cocher toutes les cases si tu veux, a moins de faire un action que disable les autres, mais je trouve pas ça très propre, d'autant que les radio bouton sont fait pour ça en théorie.

  14. #14
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Personne n'a une petite idée ? SVP.... HELP

  15. #15
    Membre habitué Avatar de nikalkal
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 231
    Points : 166
    Points
    166
    Par défaut
    Citation Envoyé par cipotesi
    oui mais la property correspond à un champs dans mon formulaire... Comme je ne sais pas combien j'aurai de ligne, j'ai créé un "tableau de formulaire" en fait un tableau d'objet Zone qui lui contient tous les champs necessaires...

    Est ce q tu comprend le problème? Si je met un property différent, il va me dire qu'il ne trouve pas les getters et setters pour technique2...
    Effectivement je comprends mieux ton problème, autant pour moi.
    Je ne sais pas comment tu peux faire, si je trouve je te fais signe.

    Bon courage @+
    -> L’amour est à la portée de tous, mais l’amitié est l’épreuve du cœur
    -> La nature nous a donné deux oreilles et seulement une langue afin de pouvoir écouter d'avantage et parler moins
    -> Trois sortes de gens disent la vérité : les sots, les enfants et les ivrognes




  16. #16
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Bonsoir,

    utilises l'attribut indexed="true" dans ton tag ou alors optes pour la taglib nested.

    Si ca ne te parle pas, postes ton ActionForm et ta jsp pour qu'on puisse te guider.

    Eric

  17. #17
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Oui, c'est le cas le plus pénible dans un formulaire, d'avoir des champs dont les noms sont dynamiques.
    Moi je ne passe pas par le formulaire puisque le nombre de ligne n'est pas connu à l'avance. Je gère tout moi-même en travaillant directement sur les paramètres de requête avec un request.getParameterNames() et un filtrage sur les paramètres qui m'intéressent... Y a peut-être mieux mais je n'ai pas trouvé.

    Le bout de code suivant permet d'y voir plus clair en le mettant au début de l'action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (Enumeration params = request.getParameterNames(); params.hasMoreElements;)
    {
       String param = params.nextElement();
       System.out.println(param + " = " + request.getParameter(param));
    }
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

Discussions similaires

  1. iterate avec html:radio = problème de name
    Par xoubidur dans le forum Struts 1
    Réponses: 12
    Dernier message: 27/10/2010, 15h17
  2. Problème avec HTML et perl (cgi)
    Par Mimiche dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2007, 13h24
  3. Petit problème avec html:hidden
    Par T2! dans le forum Struts 1
    Réponses: 6
    Dernier message: 17/12/2006, 22h18
  4. Problème avec bouton radio sous IE.
    Par waldo2188 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 21/06/2006, 12h11
  5. Problème avec HTML::Form
    Par Woufeil dans le forum Web
    Réponses: 1
    Dernier message: 05/06/2006, 13h59

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