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

JavaScript Discussion :

select choix multiple


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut select choix multiple
    Salut à tous, je sais que c'est de l'html mais, bien sur, je me range du côté de la récupération de saisie de l'utilisateur.

    Bref, voici mon problème :

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
     
    // javascript 
    function valider()
    {
    	var source_list = document.monform.ma_liste;
    	if (source_list.selectedIndex == -1)
    	{
    		alert("Veuillez faire au moins un choix!");
    		return 0;
    	}
    	else
    	{
    		var maliste = '';
    		var j=0;
    		for (var i=0; i<source_list.length; i++)
    		{
    			if (source_list.options[i].selected)
    			{
    				if (mylist.length == 0)
    				{
    					mylist = source_list.options[i].value;
    				}
    				else
    				{
    					mylist = mylist+ ',' + source_list.options[i].value;
    				}
    			}
    		}	
    		document.monform.mon_texte.value = mylist;
    		document.monform.submit();
    	}
    }
     
    </script>
     
     
    // PHP
     
    <?php
     
    echo '<form method="post" action="test.php" name="monform">';  
    	echo '<select name="ma_liste[]" size="5" multiple="MULTIPLE">';  
    		echo '<option value="0">Aucun</option>';
    		echo '<option value="1">Cosmetique</option>';
    		echo '<option value="2">Fonctionnel</option>';
    		echo '<option value="3">T&eacute;l&eacute;chargement</option>';
    		echo '<option value="4">Autre</option>';
    	echo '</select>';
    echo '<input type="hidden" name="mon_texte" size="30">';
    echo '<input type="submit" onClick="valider()" value="Valider mes choix">';
     
     
    if ( isset ( $_POST['ma_liste'] ) )
    {
    	print_r($_POST['ma_liste']);
    }
    J'aimerai pouvoir faire une sorte de "sélection", j'entends par là de ne pouvoir que sélectionner : soit Aucun, soit les choix restants (dans n'importe quel ordre) mais ne pas pouvoir sélectionner : Aucun et Fonctionnel par exemple

    Est ce que cela est possible merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    si l'utilisateur ne doit pas pouvoir faire ces choix, le plus simple/logique est de ne pas les lui proposer ....

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Dans mon select, j'ai une liste avec : Aucun, Fonctionnel etc...

    L'utilisateur est libre de choisir ce qu'il veut, sauf couplé Aucun et Fonctionnel ou Aucun avec les autres, ce qui tout à fait logique mais on est pas à l'abri d'une erreur de saisie :s

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    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
    function valider()
    {
    	var source_list = document.monform.ma_liste;
    	if (source_list.selectedIndex == -1)
    	{
    		alert("Veuillez faire au moins un choix!");
    		return 0;
    	}
    	else
    	{
    		var maliste = '';
    		var j=0;
    		for (var i=0; i<source_list.length; i++)
    		{
    			if (source_list.options[i].selected)
    			{
    				if (mylist.length == 0)
    				{
    					mylist = source_list.options[i].value;
    				}
    				else
    				{
    					mylist = mylist+ ',' + source_list.options[i].value;
    				}
    			}
    		}	
                    if (mylist == "0,2") {
                        alert("Choix incompatibles !!");
                        return 0;
                    }
    		document.monform.mon_texte.value = mylist;
    		document.monform.submit();
    	}
    }
    EDIT : j'avais oublié le côté "multiple"
    RE-EDIT : adaptations "multiple" ...

    A+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Merci bien, mais je viens de tester mais, cela me prend en compte quand même les choix que j'ai fais (Aucun et Fonctionnel par exemple)

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Arff !!
    J'avais pas vu l'erreur classique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    echo '<form method="post" action="test.php" name="monform" onsubmit="return valider()">';  
    	echo '<select name="ma_liste[]" size="5" multiple="MULTIPLE">';  
    		echo '<option value="0">Aucun</option>';
    		echo '<option value="1">Cosmetique</option>';
    		echo '<option value="2">Fonctionnel</option>';
    		echo '<option value="3">T&eacute;l&eacute;chargement</option>';
    		echo '<option value="4">Autre</option>';
    	echo '</select>';
    echo '<input type="hidden" name="mon_texte" size="30">';
    echo '<input type="submit" value="Valider mes choix">';
    Jamais de fonction de contrôle sur un bouton submit !
    Toujours dans le onsubmit du <form>

    A+

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    ... du coup dans ta fonction valider(), il faut remplacer document.monform.submit(); par return true;

    A+

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    EDIT : j'avais pas vu ton nouveau message, je teste et je te dis

    Une erreur ? Désolé, je ne m'y connais pas beaucoup en javascript mais pourtant j'utilise le contrôle de saisie sur le bouton valider et je n'ai jamais eu de problème.

    En testant, je n'ai toujours pas le contrôle attendu


    Merci beaucoup pour l'aide que tu me fournis !

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

Discussions similaires

  1. select choix multiple désélection
    Par seb76250 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 18/02/2011, 22h52
  2. Réponses: 2
    Dernier message: 12/12/2006, 11h07
  3. select à choix multiple
    Par tribaleur dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 22/06/2006, 15h53
  4. Supprimer une option d'un select à choix multiple
    Par Oluha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/02/2005, 14h16
  5. pb de select avec size avec choix multiple
    Par La_picolle dans le forum ASP
    Réponses: 10
    Dernier message: 28/08/2003, 15h21

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