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

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 175
    Points : 48
    Points
    48
    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 émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 021
    Points : 2 278
    Points
    2 278
    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.
    Vive les roues en pierre

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