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

Langage PHP Discussion :

Formulaire checkbox/radio, choix multiple et unique à la fois


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Formulaire checkbox/radio, choix multiple et unique à la fois
    Bonjour,

    Je ne sais pas vraiment comment poser ma question donc je vais faire avec un exemple...
    Dans un formulaire, l'utilisateur à la possibilité de cocher parmis 3 choix : A, B et C.
    Et alors différents cas se présentent :
    - s' il coche A et/ou B, il ne doit pas pouvoir cocher C
    - inversement, s'il coche C, il ne doit pas pouvoir cocher A et/ou B
    - et donc A et B peuvent en revanche bien être cochés ensemble.

    Voila, j'étais parti sur un simple checkbox à choix multiple mais je ne vois pas comment faire ça...
    Si quelqu'un peut me venir en aide ce serait sympa !

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,

    1- tu crées une fonction javascript que tu appelles à chaque onclick des select. Dans cette fonction, tu vérifies quel est l'élément déjà coché pour retourner une valeur booléen pour pouvoir cocher ou non les autres.
    2- tu dois refaire une revérification coté php avec isset. seul les checkbox coché sont envoyés vers le serveurs.

    A+.

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Comme andry.aime je ne vois pas d'autre solution que de passer par javascript.
    Je te donne une solution rapide avec jquery :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
    <title></title>
     
     
    <script  src = "scripts/jquery.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(function() 
    {
    $("#checks input[type=checkbox]").click(function()
    {
     if ($(this).attr("class") == "block1")
     {
     	$("#checks .block2").attr('checked', false);
     }
     else if ($(this).attr("class") == "block2")
     {
     	$("#checks .block1").attr('checked', false);
     }
     
    });
    })
    </script>
    </head>
     
    <body>
     
    	<form action="#" method = "post">
    	<p id = "checks">
    		<input class="block1" type = "checkbox"  name = "checkA" value = "A" />
    		<input class="block1" type = "checkbox"  name = "checkB" value = "B" />
    		<input class="block2" type = "checkbox"  name = "checkC" value = "C" />
    		<input type = "submit" name = "envoyer" value = "envoyer" />
    	</p>
    	</form>
     
    </body>
    </html>
    Excuses moi de ne pas donner le code en js pur mais depuis que je fais beaucoup de web2 j'utilise cette lib et j'ai perdu mes automatismes (et surtout devenu un peu feignant car les sélecteurs jquery sont tellement pratiques! ).

    Bah sinon pour faire le même principe de code sans la lib il faudra utiliser document.getElementById, getElementByTagName et autre className (et lister tes tableaux comme un besogneux )

    Javascript pouvant se désactiver, tu devras refaire un contrôle en php.

Discussions similaires

  1. Problème avec un formulaire de JCheckBox à choix multiple
    Par coolanso dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 18/08/2011, 19h02
  2. Réponses: 4
    Dernier message: 02/06/2006, 17h57
  3. procédure pour une MAJ d'un formulaire à choix multiple
    Par Zen_Fou dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 26/05/2006, 15h46
  4. formulaire avec une liste a choix multiples
    Par pogy dans le forum Langage
    Réponses: 22
    Dernier message: 03/05/2006, 01h12
  5. formulaire choix multiple
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 02/02/2003, 19h59

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