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 :

Checkbox coché => Suppression


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Par défaut Checkbox coché => Suppression
    Bonjour à tous,

    j'ai un formulaire avec des lignes d'une bd qui s'affiche selon un premier paramètre choisie.
    En face de chacune de mes lignes, j'ai une checkbox.
    Des qu'au moins une checkbox est coché alors j'ai un bouton supprimer qu'y apparait.
    Je veux que , lorsque je clique sur le bouton "supprimer", les lignes qui correspondent aux checkboxs cochées soient supprimer.

    Voici mon formulaire :

    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
    <form name="affichage" method="post" action="">
    	<table width="100%" border="1" cellspacing="0">
    		<tr> 
    			<td height="10"><div align="center" style="font-weight: bold">Date</div></td>
    			<td height="10"><div align="center" style="font-weight: bold">Km</div></td>
    			<td height="10"><div align="center" style="font-weight: bold">Evenement</div></td>
    			<td height="10"><div align="center" style="font-weight: bold">Prestataire</div></td> 
    			<td height="10"><div align="center" style="font-weight: bold">Cout €</div></td>
    			<td height="10"><div align="center" style="font-weight: bold">Nombre de minutes</div></td>
    			<td height="10"><div align="center" style="font-weight: bold">Commentaire</div></td>
    			<td height="10"><div align="center" style="font-weight: bold">Supp</div></td>
    		</tr>
     
     <%
    	if  not IsEmpty(num_materiel) then							
    	requete = "select *  from parc_gestion_vehicule "
    	requete = requete & " inner join parc_prestataire on prestataire = idprestataire "
    	requete = requete & " inner join parc_evenement on evenement = idevenement and num_materiel = "&num_materiel&"  "
    	requete = requete & " order by date desc "
     
    Set rs3 = Db_sql.Execute(requete)
    	while not rs3.eof
     
    	Response.write("<tr>")
    	Response.write("<td><div align="center">"&rs3("date")&"</div></td>")
    	Response.write("<td><div align="center">"&rs3("km")&"</div></td>")
    	Response.write("<td><div align="center">"&rs3("Libelle")&"</div></td>")
    	Response.write("<td><div align="center">"&rs3("libellé")&"</div></td>")
    	Response.write("<td><div align="center">"&rs3("montant")&"</div></td>")
    	Response.write("<td><div align="center">"&rs3("nb_heure")&"</div></td>")
    	Response.write("<td><div align="center">"&rs3("commentaire")&"</div></td>")
    			%>
    	<td align="center" >
    	<input id="supp<% =i %>" type="checkbox" name="supp<% =i %>" onclick="test_chckbx();">
    	<input type="hidden" name="num_materiel<% = i %>" value="num_materiel<% = i %>" />
    	<input type="hidden" name="dat<% = i %>" value="dat<% = i %>" />
    	<input type="hidden" name="km<% = i %>" value="km<% = i %>" />
    	<input type="hidden" name="evenement<% = i %>" value="evenement<% = i %>" />										
    	</td>
    					<%
    								i=i+1							
    	Response.write("</tr>")
    	rs3.movenext 	
    	wend
    	end if
    					%>
    			<tr>		
    				  <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
    				  <td align="center">
    					<input id="validation" name="validation" type="submit" value="Valider" style="visibility:hidden;">
    				  </td>
    			</tr>
    	 </table>
    	  </form>
    j'ai mis des champs cachés pour récupéré les valeurs de ma clef primaire qui seront cochés...

    Maintenant Voici la requête de suppression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    'For each del.checkbox, si elle est cochée alors ...
    		'if affichage.checked then
    		del = "delete from parc_gestion_vehicule where num_materiel = num_materiel<% =i %> "
    	 	del = del & " and dat = dat <% =i %> "
    		del = del & " and km = km  <% =i %> "
    		del = del & " and evenement = evenement <% =i %>"
    		db.execute(del) 
    		i=i+1
    		'end if
    Et c'est la ou j'ai le problème ...
    Merci de me lancer sur une piste.
    Je ne sais pas si je dois faire ca en javascript ou en asp ...
    j'ai une idée pour le javascript mais ... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function test_supp() {
    	var chkbx = document.forms['affichage'].getElementsByTagName("input");
    	for (var i=0; i<chkbx.length; i++)  // Parcours les input du form
    	  if (chkbx[i].type=="checkbox")   // Ne traite que les checkbox
    		 if (chkbx[i].checked)  {// Si une cochée
    			  // je la supprime apres avoir appuyé sur le bouton
    			  			return true;    // Fin de la fonction
    		  }
    		document.getElementById('validation').style.visibility = "hidden";   // Si aucune trouvée => masque le bouton
     
    }
    le souci c'est que a
    // je la supprime apres avoir appuyé sur le bouton
    , je dois bien mettre ma requete.. et donc je mélanges asp(coté serveur) et javascript(coté client)...
    Help
    merci

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Une chose est sûre: tu as effectivement le code côté client pour l'affichage et le code côté server pour la suppression dans ta base.

    Tu disposes de 2 solutions au moment du clic sur le bouton "supprimer":
    1. Tu postes les données avec un formulaire (ou un lien) vers le server. Tu fais ta suppression en base et tu affiches de nouveau ta page qui présentera de fait une ligne en moins.
    2. Tu appelles via AJAX ta page ASP sur le server (équivaut à un post en "tâche de fond", sans recharger ta page) qui effectue la suppression en base. Côté client, au retour de l'appel AJAX, tu supprimes la ligne de ton tableau.



    ERE

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Par défaut
    J'opte pour la premiere solution ...
    Mais si je fais ca l'utilisateur ne pourra les supprimer que une a une, puisqu'il y a un rechargement de la page a chaque clique sur "supprimer" ...
    Si c'est ca, j'abandonne mon idée de checkbox, qui était la pour permettre la suppression de plusieurs lignes

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut,
    Citation Envoyé par emmanuel.remy
    Tu postes les données
    Ceux sont les checkbox que tu postes, ainsi tu peux supprimer plusieurs enregistrements à la fois.
    Les valeurs des checkbox doivent contenir l'id des enregistrements à supprimer.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Par défaut
    le formulaire est la et existe bien :

    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
    <form name="affichage" method="post" action="">
    	<table width="100%" border="1" cellspacing="0">
    		<tr> 
    		<td height="10"><div align="center" style="font-weight: bold">Date</div></td>
    		 <td height="10"><div align="center" style="font-weight: bold">Km</div></td>
    		<td height="10"><div align="center" style="font-weight: bold">Evenement</div></td>
    		<td height="10"><div align="center" style="font-weight: bold">Prestataire</div></td> 
    		<td height="10"><div align="center" style="font-weight: bold">Cout €</div></td>
    		<td height="10"><div align="center" style="font-weight: bold">Nombre de minutes</div></td>
    		<td height="10"><div align="center" style="font-weight: bold">Commentaire</div></td>
    		<td height="10"><div align="center" style="font-weight: bold">Supp</div></td>
    		</tr>
    		  <%
    			MA REQUETE 
     
    	Response.write("<tr>")
    		Response.write("<td><div align='center'>"&rs3("date")&"</div></td>")
    		Response.write("<td><div align='center'>"&rs3("km")&"</div></td>")
    		Response.write("<td><div align='center'>"&rs3("Libelle")&"</div></td>")
    		Response.write("<td><div align='center'>"&rs3("libellé")&"</div></td>")
    		Response.write("<td><div align='center'>"&rs3("montant")&"</div></td>")
    		Response.write("<td><div align='center'>"&rs3("nb_heure")&"</div></td>")
    		Response.write("<td><div align='center'>"&rs3("commentaire")&"</div></td>")
    			%>
    		<td align="center" >
    		<input id="supp<%=i%>" type="checkbox" value= "toto" name="supp<%=i%>" onclick="test_chckbx();"/>
    		<input type="hidden" name="num_materiel<%=i%>" value="num_materiel<%=i%>" />
    		<input type="hidden" name="dat<%=i%>" value="dat<%=i%>" />
    		<input type="hidden" name="km<%=i%>" value="km<%=i%>" />
    		<input type="hidden" name="evenement<%=i%>" value="evenement<%=i%>" />										
    	</td>
    					<%
    								i=i+1							
    							Response.write("</tr>")
    							rs3.movenext 	
    							wend
    						end if
    					%>
    			<tr>		
    				  <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
    				  <td align="center">
    					<input id="validation" name="validation" type="submit" value="Valider" style="visibility:hidden;">
    			<%
    			i=0
    			'For each del.checkbox, si elle est cochée alors ...
    				'if affichage.checked then
    				del = "delete from parc_gestion_vehicule where num_materiel = num_materiel=" & i 
    				del = del & " and dat = dat=" & i 
    				del = del & " and km = km=" & i 
    				del = del & " and evenement = evenement=" & i 
    				'db.execute(del) 
    				i=i+1
    				'end if
    			%>
    				  </td>
    			</tr>
    	 </table>
    	  </form>

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Par défaut
    Citation Envoyé par ririch Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		<input id="supp<%=i%>" type="checkbox" value= "toto" name="supp<%=i%>" onclick="test_chckbx();"/>
    		<input type="hidden" name="num_materiel<%=i%>" value="num_materiel<%=i%>" />
    		<input type="hidden" name="dat<%=i%>" value="dat<%=i%>" />
    		<input type="hidden" name="km<%=i%>" value="km<%=i%>" />
    		<input type="hidden" name="evenement<%=i%>" value="evenement<%=i%>" />
    et toi tu vois donc plus un truc avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="supp<%=i%>" type="checkbox" value= "supp<%=i%>" name="supp<%=i%>" onclick="test_chckbx();"/>
    En faisant ca, j'attribut a la valeur de ma checkbox, l'incrémentation du i ...
    Car selon le materiel choisie, il peut y avoir 1 2 3 ... evenement deja associé.. et ca, je ne peux pas les prédéfinir

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

Discussions similaires

  1. fonction pour compter le nombre de checkbox coché ?
    Par Death83 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/09/2005, 11h28
  2. nombre de checkbox cochés
    Par manaboko dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/05/2005, 15h39
  3. [débutant] obtenir le nombre de checkbox cochées
    Par macke_d dans le forum Composants
    Réponses: 3
    Dernier message: 30/03/2005, 02h17
  4. Réponses: 9
    Dernier message: 12/01/2005, 17h00
  5. [XML][XSL]afficher une checkbox cochée
    Par kirk80 dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/09/2004, 17h49

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