empêcher la deselection dans un select multiple

empêcher la deselection dans un select multiple - HTML/CSS - Programmation

Marsh Posté le 05-10-2007 à 12:33:38    

Bonjour, je souhaiterais que dans une select multiple tous certains champs soit selectionnés par defaut mais impossible a deselectionner si on reclique dessus
je ne sais pas trop comment m'y prendre  

Code :
  1. <select name="departement[]" id="list2" multiple style="width:150px;height:100px"  readonly="readonly" >
  2. <option selected >texte1 bloqué et selectionné</option>
  3. <option selected >texte2 bloqué et selectionné</option>
  4. <option selected >texte3 bloqué et selectionné</option>
  5. <option >pas bloqué</option>
  6. <option selected >texte4 bloqué et selectionné</option>
  7. </select>


 
merci de votre aide

Reply

Marsh Posté le 05-10-2007 à 12:33:38   

Reply

Marsh Posté le 05-10-2007 à 12:35:49    

On peut pas... Ou alors avec du scripts, mais dans tous les cas c'est facilement contournable, suffit de toucher à la requête envoyée. Stocke les trucs déjà sélectionnés ailleurs...

Reply

Marsh Posté le 05-10-2007 à 12:41:52    

C pas bien grave C on peut les contourner.
quel script doit-je mettre alors pour bloquer (partiellement) ces champs
 
merci encore

Reply

Marsh Posté le 05-10-2007 à 13:05:13    

en fait on peut :o

Code :
  1. <select multiple="multiple">
  2.   <optgroup label="bloque" disabled="disabled">
  3.    <option selected="selected">truc 1</option>
  4.    <option selected="selected">truc 2</option>
  5.    <option selected="selected">truc 3</option>
  6.   </optgroup>
  7.   <optgroup label="pas bloque">
  8.    <option>machin 1</option>
  9.    <option>machin 2</option>
  10.    <option>machin 3</option>
  11.   </optgroup>
  12. </select>


et là tu dois te dire "S'trop la fête!!!"...
Mais en fait non ... FF le vit très bien mais ça marche pas sous IE

Reply

Marsh Posté le 05-10-2007 à 17:23:46    

En même temps, le but d'un formulaire et d'un select, c'est d'envoyer des parametres.
A quoi bon les mettre dans le select si de toute façon ils sont fixés (et donc connus du serveur).
 

Code :
  1. Elements pré-sélectionnés
  2. <li>
  3.   <ul>truc1</ul>
  4.   <ul>truc2</ul>
  5.   <ul>truc3</ul>
  6. </li>
  7. <select multiple="multiple">
  8.   <option>machin 1</option>
  9.   <option>machin 2</option>
  10.   <option>machin 3</option>
  11. </select>


 
Et coté serveur tu rajoutes tes élément obligatoire dans la liste avant de la traiter

Reply

Marsh Posté le 08-10-2007 à 12:14:52    

en fait, voila mon pb, ... j'ai un script qui me permet de basculer des elements d'une liste vers une autre  
ca marche sauf que je suis obligé de reselectionner l'ensemble des elements de la liste2 pour les envoyer vers ma page de traitement.
moi ce que je voudrais C vraiment pouvoir envoyer l'integralité des elements de la liste 2, qu'ils soit selectionnés ou non.
comment pourrais je faire pour remedier a cela ?
 

Code :
  1. <?php
  2. print_r($_POST);
  3. ?>
  4. <HTML><HEAD>
  5. <SCRIPT LANGUAGE="JavaScript">
  6. function Deplacer(_idListe1, _idListe2) {
  7.     var l1 = document.getElementById(_idListe1);
  8.     var l2 = document.getElementById(_idListe2);
  9.     if (l1.options.selectedIndex>=0) {
  10.        o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
  11.        l2.options[l2.options.length]=o;
  12.        l1.options[l1.options.selectedIndex]=null;
  13.   }else{
  14.    alert("Aucune activité sélectionnée" );
  15.   }
  16. }
  17. </SCRIPT>
  18. </HEAD><BODY>
  19. <form name="formulaire" method="post" enctype="multipart/form-data" >
  20. <TABLE><TR>
  21. <TD align="center"><B><FONT size="2">Activités proposées</FONT></B><BR>
  22. <SELECT align=top id="liste1" size=6  style="width:120px">
  23.   <OPTION value="100">Allemagne</OPTION>
  24.   <OPTION value="101">Autriche</OPTION>
  25.   <OPTION value="102">Espagne</OPTION>
  26.   <OPTION value="103">France</OPTION>
  27.   <OPTION value="104">Italie</OPTION>
  28.   <OPTION value="105">Le reste du monde</OPTION>
  29. </SELECT>
  30. </TD>
  31. <TD align="center">
  32. <INPUT type="button" value="Ajouter >>>" onClick="Deplacer('liste1','liste2')">
  33. <BR><BR>
  34. <INPUT type="button" value="&lt;&lt;&lt; Enlever" onClick="Deplacer('liste2','liste1')">
  35. </TD>
  36. <TD align="center"><FONT size="2"><B>Pays retenus</B></FONT><BR>
  37. <SELECT align=top name="valeurs[]" id="liste2" size=6 multiple="multiple" style="width:120px">
  38.   <OPTION value="10">----------------------</OPTION>
  39. </SELECT>
  40. </TD>
  41. </TR></TABLE>
  42. <input type="hidden" name="test" value="oui">
  43. <input type="submit">
  44. </FORM>
  45. </FONT></BODY></HTML>


 
merci encore de votre aide

Reply

Marsh Posté le 08-10-2007 à 13:48:44    

Ben...t'as une liste en trop...!
La "liste2", ne m'a pas l'air vraiment utile...


---------------
Fred => http://www.meance.free.fr
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed