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 :

Memoriser l'etat des cases a cocher d'un formulaire avec pagination


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut Memoriser l'etat des cases a cocher d'un formulaire avec pagination
    Salut mes amis
    Je cherche comment garder l’état checked des cases à cocher (checkbocks d’un form) apres que je clique sur le bouton suivant pour afficher la partie suivante du tableau qui contient ces checkbox
    (j’utilise la pagination asp pour afficher un tableau en partie de dix lignes)
    Alors lorsque je revient a la partie précédente du tableau je ne trouve plus les cases que j’ai coché dans l’état checked
    Mes amis veuillez me donner un tutorial ou un fragment de code qui me permet de résoudre mon Pb

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    pagination => rechargement de page ???

    Il va falloir passer l'état des cases en paramètre dans l'url
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut
    salut
    merci mon ami pour la réponse
    pourriez vous me donner plus éclaircissements !
    mois je pense a créer une fonction qui s'exécute a chaque fois que je clique sur page suivante /précédente cette fonction remplie un tableau qui contient deux colonnes une pour les codes clients que l'utilise dans d'autres traitement est une autre (etat du code client coché ou pas) qui contient l'état du checkbox correspondant au code client et puis a chaque fois que j'affiche une partie de mon tableau je récupère l'état des cases a partir de ce tableau le problème c que je ne sais pas comment implémenter cette solution
    merci pou votre aide !!

  4. #4
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Ce que SpaceFrog propose, c'est d'utiliser la méthode GET si vous faites une soumission de formulaire, ou bien d'ajouter manuellement quelques paramètres à l'url de changement de page. Ce qui reviendra au même résultat:

    =http://www.mon_site.fr/ma_page.html?var1=Un&var2=Deux&var3=Trois
    Vous obtiendrez donc dans la page suivante les variables suivantes avec les valeurs suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var1 = "Un";
    var2 = "Deux";
    var3 = "Trois";
    Pour les récupérer, il faut en fait chercher l'url de la page et faire un split sur le ? et les &. Vous obtiendrez deux tableaux et là il faudra encore splitter sur les = pour différencier nom de variable et valeur. Il y a sans doute une méthode plus simple, mais là je laisse parler les autres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var monUrl = self.location.href;

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    http://php.developpez.com/faq/?page=...ect-keep-value

    le principe est le même avec checked="checked"
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    le plus propre paraît être une variable de session, contenant la chaîne à spliter;

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut
    Bonjour
    je vous remercie tous pour vos réponses et afin d'eclaircire au mieux mon pb je partage avec vous le code de ma page :
    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
     
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <%Option explicit%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head> 
      <title>Mise en demeure  </title> 
    <LINK media=all href="../style.css" type=text/css rel=stylesheet>  
      </head> 
    <SCRIPT language="javascript"><!-- 
    </SCRIPT>
     
    <body>
     
    <Center>
     
     
    <%
    Dim SQL, Conn, RS, PageNum, i, j
     
    Const adOpenKeyset = 1
     
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set RS = Server.CreateObject("ADODB.Recordset")
    Conn.Open "CLI"
    Sql = ""
    Sql = Sql + " select * from client"
     
     
    rs.CursorLocation=3
    RS.Open sql, Conn, 1,1
     
    		RS.PageSize = 10
     
     
    		i = 0
     
    		IF request.QueryString("PageNum") <> "" THEN
    			IF RS.AbsolutePage <= RS.pagecount THEN
    				RS.AbsolutePage = request.QueryString("PageNum")
    				PageNum = request.QueryString("PageNum")
    			END IF
    		ELSE
    			PageNum = 1
    		END IF
     
    		IF NOT RS.EOF AND NOT RS.BOF THEN %>
    		<Form action="ppp"  name="general" >
            	<%
     
    			response.Write("<table  border=1 align=""CENTER"" cellspacing=0 width=""63%"">"  & vbcrlf)
    			%>
    			<tr>
        <td width="22%" >
          <div align=Center>
     
            Tout Cocher/Décocher</div></td>
        <td width="14%" >
          <div align=Center> Num Client </div></td>
        <td width="36%">Nom Client</td>
        <td width="11%">Nbr Factures</td>
        <td width="17%">Montant</td>
      </tr>
     
     
    			<%
    			while not RS.EOF AND i<= RS.PageSize
    				response.Write("<tr>" & vbcrlf)  
     
    				%>
    				<td>
            <div align="Center"  >
            <input type="checkbox" name="lists" id="list"  value=<%=RS.fields(0).value%>    >
            </div></td>
    				<%for j= 0 to RS.fields.count-3
     
    					response.write ("<td>" & RS.fields(j).value & "&nbsp;</td>" & vbcrlf)
    				next 
    				response.Write("<tr>" & vbcrlf)
    				RS.movenext 
    				i=i+1
    			wend
    			response.Write("</table>" & vbcrlf)
    		ELSE
    			response.Write("Pas d'enregistrements")
    		END IF 
     
     
    		response.Write(" page " & PageNum & " of " & RS.Pagecount & "<br>")
    		If cint(PageNum) > 1 Then
    			response.Write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?Direction=Prev&PageNum=" & PageNum - 1 & "'>Enregistrements précédents</a>&nbsp;")
    		End If
    		If cint(PageNum) < RS.Pagecount Then
    			response.Write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?Direction=Next&PageNum=" & PageNum + 1 & "'>Enregistrements suivants</a>")
    		End If%>
     </Form>
    		RS.Close
    		Conn.Close
    	Set RS = Nothing
    Set Conn = Nothing
    %> 
    </body>
    </html>
    dans cette page j'affiche le contenu de la table client ( montant , nbr factures .....)et j'ajoute devant cheque ligne du tableau un checkbox pour que l'utilisateur selectionne ceux a qui on veut envoyer une mise en demeure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        <input type="checkbox" name="lists" id="list"  value=<%=RS.fields(0).value%>    >
    je note que je n'ai pas au préalable le nombre de clients
    j'espère que j'ai bien exposer la problématique mes amis .

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    on t'a donné les différentes possibilités pour conserver les selections et saisie dans un formulaire, a toi de lire les liens et de revenir avec un bout de code si tu rencontres des soucis.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut
    salut
    merci spaceforg pour la réponse mais je ne vois pas de quoi vous parlez
    pour la FAQ concernant c en php et mois je travail avec asp d'autre part j'ai essayé d'adapter ce code a mes besoins mais le problème c que je n'utilise pas de bouton submit dans mon form mais j'utilise le code asp suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    If cint(PageNum) > 1 Then
    			response.Write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?Direction=Prev&PageNum= " & PageNum - 1 & "'>Enregistrements précédents</a>&nbsp;")
    		End If
    		If cint(PageNum) < RS.Pagecount Then
    			response.Write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?Direction=Next&PageNum= " & PageNum + 1 & "'>Enregistrements suivants</a>")
    		End If%>
    et la pagination n'ai pas crée par le form
    et la contrainte de taille que j'ai c que je n'est pas le droit d'écriture sur la table alors je peut faire que des select c pour sa que je veut créer un tableau qui mémorise l'etat des checkbox ce tableau sera mis ajour achaque clique sur pagr suivante ou précédente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Array.prototype.clone = function(fld)
    {
    var cocher = new array(fld.lenght,fld.lenght);
    for(i=0; i<fld.lenght;i++)
    {
    cocher[1][i]= false ;
    }
    return cocher;
    }
    mon ami si vous avez une solution avec seulement les formulaire ca sera géniale (je voudrai faire la même CHOSE que les questionnaires d'examen de ccna cisco )
    merci

Discussions similaires

  1. Modifier l'apparence des case à cocher
    Par faiglon dans le forum Access
    Réponses: 2
    Dernier message: 11/07/2006, 12h00
  2. Treeview : memoriser l'etat des noeuds d'un treeview
    Par tuxor dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 19/04/2006, 04h28
  3. Comment creer un choix multiple avec des cases a cocher ??
    Par pedrosystem dans le forum Access
    Réponses: 5
    Dernier message: 09/03/2006, 10h36
  4. [Analyse Croisée] avoir des cases a cocher ...
    Par tintinmarre dans le forum Access
    Réponses: 3
    Dernier message: 14/09/2005, 18h40

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