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 :

Selectionner tous les items d�une liste lors du submit


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Juillet 2003
    Messages
    175
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 175
    Par d�faut Selectionner tous les items d�une liste lors du submit
    Bonjour

    Je voudrai selectionner automatiquement tous les Item d�un <select multiple> au moment ou le formulaire est envoy� .En fait c�est 2 listes, � la liste 1 on choisit des elements qui sont transfer�s � la liste2. En fait lors de l�envoit vers la liste 2 les elements sont automatiquements selectionn�s mais il pourraient etre deselectionn�s si l�utilisateur retire des elements de la liste 2.

    je voudrai don au moment d�envoyer le formulaire verifier si tous les elements du <select> sont selectionn�s et si c�est pas le cas les selectionner pour qu�ils soient envoy�. Je comprend pas pourquoi mon programme ne marche pas si quelqu�un veut bien m�aider?

    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
    58
    59
    60
    61
    62
    63
    64
    65
     
    <form name="frmHostInsert" method="post" onSubmit="allSelect()" action="{ACTION_INSERT}">
     
    <SCRIPT LANGUAGE="JavaScript">
     
    	function moveDat(l1,l2) {
     
     
    		if (l1.options.selectedIndex>=0) {
    			o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
    			o.selected='true';
                            l2.options[l2.options.length]=o;
    			l1.options[l1.options.selectedIndex]=null;
    			 //l2.options[l2.options.length].selected='true';
     
    		}else{
    			alert("vous n´avez rien choisit");
    		}
    	}
     
     
    </SCRIPT>
     
     
     
    <script language="JavaScript">
     
    function allSelect()
    {
     for (i=0; i<document.forms[0].selHostGroups[].length; i++){
      if(document.forms[0].selHostGroups[].options[i].selected == false){
         document.forms[0].selHostGroups[].options[i].selected=true;
       }
      }
    }
     
    </script>
     
     
     
    <td rowspan="1">
    <select name="selHostGroupsliste1" size="4"  multiple style="width:200px;"> 
     
    <!-- BEGIN hostgroups -->
             <option value="{DAT_HOSTGROUPITEM_ID}" {DAT_HOSTGROUPITEM_SEL}>{DAT_HOSTGROUPITEM}</option>
    <!-- END hostgroups -->
     </select>
     </td>
     
    <td>
     <INPUT type="button" value=">>>" onClick="moveDat(this.form.selHostGroupsliste1,this.form.elements['selHostGroups[]'])">
     
      <BR><BR>
     
     <INPUT type="button"  value="&lt;&lt;&lt;" onClick="moveDat(this.form.elements['selHostGroups[]'],this.form.selHostGroupsliste1)">
    </td>
     
     <TD align="center">
      <select name="selHostGroups[]" size="4" multiple id="selHostGroups[]" style="width:200px;">
      <option value="{DAT_HOSTGROUPITEM_ID}" {DAT_HOSTGROUPITEM_SEL}></option>
     
    </SELECT>
    </TD>
     
    </form>

    Les donn�es proviennent d�une BD , c�est pour ca que vous ne verrez que des variables de templates dans le code html.
    Merci

  2. #2
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    2 023
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 2 023
    Par d�faut
    Salut,
    tu peux pas utiliser selHostGroups[] en tant que nom d'acc�s direct � un objet. (En fait il attend un index pour le tableau selHostGroups[?])
    Ceci devrait fonctionner, bien que ce ne soit pas tr�s logique, donc peut-�tre pas tr�s portable :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    document.forms[0].selHostGroups.options[i].selected
    Par contre tu peux l'utiliser en tant que cha�ne :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.getElementById("selHostGroups[]"):
    Remarque : ton test : if(document.forms[0].selHostGroups[].options[i].selected == false) est inutile � mon avis, par curiosit�, il faudrait voir sur une grande liste s'il est plus rapide de modifier un attribut ou de faire un test. Il me semble que j'avais d�j� eu des surprises � ce niveau-l�.

    J'ai oubli� de pr�ciser que tu peux aussi mettre ta 2e liste en disabled comme ca le client voit bien qu'il a pas � toucher cette liste.

Discussions similaires

  1. [SP-2010] Workflow sur tous les item d'une liste
    Par foxmulder333 dans le forum SharePoint
    R�ponses: 3
    Dernier message: 03/07/2014, 11h54
  2. Selectionner tous les items d'une ListCtrl
    Par jojo42000 dans le forum wxPython
    R�ponses: 1
    Dernier message: 27/03/2009, 19h13
  3. R�ponses: 8
    Dernier message: 06/07/2008, 11h44
  4. selectionner tous les champs sauf un ?
    Par HULK dans le forum MS SQL Server
    R�ponses: 2
    Dernier message: 13/01/2005, 15h51
  5. changer le texte de tous les Items dans un mainmenu
    Par C.M dans le forum Composants VCL
    R�ponses: 7
    Dernier message: 25/07/2004, 13h19

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