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 :

[Jscript et Ajax] Cocher tout !


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Points : 129
    Points
    129
    Par défaut [Jscript et Ajax] Cocher tout !
    Bonjour,

    Je vous expose donc mon problème, je développe sur un planning en jsp avec le plugin struts. J'ai dans mon application créer une liste de case à cocher et j'aimerais reussir a faire un bouton "Tout cocher", apres m'etre inspiré de plusieurs bout de code sur internet je suis arrivé a cela :

    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
    var checkflag = "false";
    var IDS = new Array(<%=(StringBuffer)session.getAttribute("sb")%>) ;
    function check() {
     
    if (checkflag == "false") {
    for (i = 0; i < IDS.length; i++) {
      IDS[i].checked = true;
     }
      checkflag = "true";
      return "Tout décocher"; }
    else {
    for (i = 0; i < IDS.length; i++) {
      IDS[i].checked = false; }
      checkflag = "false";
      return "Tout cocher"; }
    }
    mais le probleme est que je fais appel a la liste des cases a cocher dans une fonction ajax :

    l'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="divAddUser"><html:img src="images/add.gif" alt=""
    				title="Ajouter" /> <a href="javascript:void(0);"
    				onclick="ajaxAddUser(${visite.idUser}, 'divAddUser', 'simple');"> <bean:message
    				key="user.add" /> </a></div>
    l'affichage du jsp appelé via un servlet spécifique aux fonctions ajax :

    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
    <input type=button value="Tout cocher" onClick="this.value=check()">
     
    <c:if test="${ ! empty ajaxListU}">
     
    	<input type="hidden" name="checkbox" value="ON">
    	<div style="overflow:auto;width:70%;height:100px">
    	<table>
     
    		<c:forEach var="u" items="${ajaxListU}" varStatus="loop">
     
    			<tr>
    				<td>${u.nom} ${u.prenom} :</td>
    				<td><input type="checkbox" name="${u.id}"></td>
    			</tr>
     
     
    		</c:forEach>
    	</table>
    	</div>
     
    </c:if>
    La construction de l'array en javascript fonctionne bien, mais le problème a l'air de venir du fait que les cases a coché ne sont pas vraiment dans la page ... (elles n'apparaissent pas dans le code source) vu qu'elles sont appelées dynamiquement avec ajax

    (preuve que l'array se construit bien, avec un bout du code source recupéré avec firefox) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var IDS = new Array(118,92,97,98,99,100,101,102,113,114,115,116,117,122,108,109,110,111,112,104,105,106,107) ;
    c'est bien les valeurs de mes checkbox.

    Donc voila, je ne vois pas comment résoudre ce problème, si vous avez des idées merci beaucoup d'avance !

    PS : Je ne sais pas du tout si je suis dans la bonne section vu que mon appli melange JSP/Struts/javascript et AJAX

  2. #2
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 156
    Points : 131
    Points
    131
    Par défaut salut
    salut ! vu que ton tableau fonctionne bien , essaye de recuperer les valeurs dans le tableau et de cocher la case correspondant.Il faut que tu donne un id a tes chekbox ( le meme que leur valeur).


    et essaye peut etre ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
     
    var num=ta_valeur_1_de_ton_tableau
    document.formulaire.getElementById(num).checked=true;

    et tu fait une boucle comme ca sur tout ton tableau .

    @+

  3. #3
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 156
    Points : 131
    Points
    131
    Par défaut re !
    je pense que t'auras un probléme , jvien de tester et effectivement le code source ne change pas lors de requetes ave ajax.

    donc je pense que ca ne sera pas possible.

    @+

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Points : 129
    Points
    129
    Par défaut
    Je viens d'essayer ta solution, et voila l'erreur que me retourne la console d'erreur de firefox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Erreur : document.formulaire has no properties
    Fichier source : http://localhost:8080/planning/gereVisite.do?date=20070418
    Ligne : 35
    Je suis pas très doué en javascript (plutôt nul même)

    j'ai bien rajouté un id a mes checkbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="checkbox" name="${u.id}" id="${u.id}"></td>
    EDIT : Ah ... ok

  5. #5
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 156
    Points : 131
    Points
    131
    Par défaut re !
    excuse jme suis planté !

    essaye plutot sa : document.getElementById(num).checked=true;

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Points : 129
    Points
    129
    Par défaut
    Tu es tout excusé, surtout que ca marche !!!

    Merci beaucoup !

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

Discussions similaires

  1. [JSF]Cocher toutes les checkbox d'une colonne
    Par Shivan dans le forum JSF
    Réponses: 6
    Dernier message: 14/07/2009, 19h09
  2. [checkbox] Code pour cocher toutes les cases
    Par snakejl dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 02/06/2006, 09h36
  3. cocher toutes les cases à cocher
    Par philippe123 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/09/2005, 18h13
  4. cocher tout les check box
    Par Flob dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/02/2005, 10h29
  5. [VB.NET] Datagrid + CheckBox : Cocher toutes les cases
    Par sirex007 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 24/05/2004, 15h33

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