begin process at 2012 05 28 23:41:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Evènements

 > 

Capture d'evenements checkbox sur tableau genere dynamiquement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Capture d'evenements checkbox sur tableau genere dynamiquement

vendredi 7 janvier 2011 à 10:44:46 | Capture d'evenements checkbox sur tableau genere dynamiquement

eikichi

Membre Club
Bonjour a tous,

J'espère que vous serez indulgents concernant mon premier post sur ce forum, mais en l'ayant parcouru, je ne parviens toujours pas à mettre la main sur une piste qui pourrait me permettre de résoudre mon problème:

J'essaie en ce moment d'implémenter une interface permettant à un utilisateur de manipuler une base de données. Pour ce faire, je parcours le contenu de la table et je l'affiche sous la forme d'un tableau avec une colonne remplie de checkbox où je propose à l'utilisateur de sélectionner l'entrée qu'il voudrait supprimer.

Le code javascript associé:

Code Javascript :
<script type="text/javascript">
<!--
var idSpan = "txt_";     // masque des span (partie commune des id)
var idChk = "idchk_";    // masque des checkbox (partie commune des id)
 
var coul1 = "#0000FF";  // couleur si checkbox cochee
var coul2 = "#11AA44";  // couleur si checkbox pas cochee
 
function ChangeCouleur(chk)
{
    var expr = /\d+$/gi;   // expression reguliere  pour extraction de l indice du checkbox 
    var indice = chk.id.match(expr);  // on recupere l indice du chekbox
 
    var sp = document.getElementById(idSpan+indice);
 
    if (chk.checked)
        sp.style.color = coul1;
    else
        sp.style.color = coul2;
}
 
function initchk()
{
    var i;
    var tabChk = document.getElementsByTagName("input");
    var n = tabChk.length;
    var expr = new RegExp(idChk, "gi");
 
    for (i=0; i<n; i++)
    {
        if (tabChk[i].type.toLowerCase()=="checkbox" && expr.test(tabChk[i].id))
        {
            ChangeCouleur(tabChk[i]);
        }
        expr.test("");  // reinitialistion de l attribut lastIndex de la regexp (FF)
    }
}
 
 
//-->
</script>



Et voici mon fichier php:

Code PHP :
<?php
       // connexion à la base
$id = mysql_connect('localhost', 'root')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  
$dbname = 'ans';
$db_selected = mysql_select_db($dbname,$id)  or die('Erreur de selection '.mysql_error());

$select = 'SELECT reference, titre, theme, auteur, source FROM article';
$result = mysql_query($select,$id) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

// si on a récupéré un résultat on l'affiche.
if($total) {
	
	
    // debut du tableau
   [color=red] echo '<table bgcolor="#FFFFFF">'."\n";
        // première ligne on affiche les titres prénom et surnom dans 2 colonnes
        echo '<tr>';
		echo '<td bgcolor="#669999"><b><u>Reference</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Titre</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Theme</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Auteur</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Source</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>Supprimer?</u></b></td>';
[/color]
      echo '</tr>'."\n";
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. 

    while($row = mysql_fetch_array($result)) {

			echo '<tr>';
			echo '<td align="center" bgcolor="#CCCCCC">'.$row["reference"].'</td>';
			echo '<td bgcolor="#CCCCCC">'.$row["titre"].'</td>';
			echo '<td bgcolor="#CCCCCC">'.$row["theme"].'</td>';
		  	echo '<td bgcolor="#CCCCCC">'.$row["auteur"].'</td>';
			echo '<td bgcolor="#CCCCCC">'.$row["source"].'</td>';
			echo '<td align="center" bgcolor="#CCCCCC"><input id="check'.$row["reference"].'" type="checkbox" onclick="ChangeCouleur(this)" value="false" /></td>';
		 	echo '</tr>'."\n";
    }
    echo '</table>'."\n";

    // fin du tableau.
	
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
 mysql_free_result($result);
 
?>


Pour l'instant je cherche juste à modifier la couleur du champ sélectionné pour vérifier que l'évènement est bien passé.

Quelqu'un pourrait-il me mettre sur une piste svp? Je vois bien comment procéder pour une seule checkbox mais apparement j'aurai peut etre du proceder autrement pour construire mon tableau.


Excusez moi d'avance si mon code n'est pas beau, je débute ^^.

Merci pour vos réponses et à bientôt.

vendredi 7 janvier 2011 à 13:39:54 | Re : Capture d'evenements checkbox sur tableau genere dynamiquement

PetoleTeam

Membre Club
Bonjour,
récupération des INPUT type=checkbox de la TABLE, test si coché et si oui destruction de la ligne.

;O)
vendredi 7 janvier 2011 à 16:28:54 | Re : Capture d'evenements checkbox sur tableau genere dynamiquement

squonk14

Bonjour,

je ne vois pas à quoi se réfère idSpan et idChk. Il y a peut-être un problème de ce côté là.
Comme tu définis ton id pour chaque checkbox, il faudrait que tu fasses de même pour chaque ligne.
Je n'y connais rien en php mais je pense que ça pourrait donner un truc du style
Code PHP :
echo '<tr id="l_check'.$row["reference"].'">';


Ensuite comme argument à ta fonction ChangeCouleur, tu passes le nom de la checkbox (tu le fais peut-être déjà mais on ne voit pas) :
Code PHP :
onclick="ChangeCouleur(this.id)"


Puis :
Code Javascript :
function ChangeCouleur(idchk)
{
 
    var tr = document.getElementById("l_"+idchk);
 
    if (document.getElementById(idchk).checked)
        tr.style.color = coul1;
    else
        tr.style.color = coul2;
}


Enfin dans ta fonction init, je ne vois pas trop à quoi correspond
Code Javascript :
var expr = new RegExp(idChk, "gi");

Dans ta boucle, il te suffit d'appeler ChangeCouleur(tabChk[i].id)
Si tu n'as pas d'autre checkbox laisse tomber les tests avec expressions régulières.
mercredi 12 janvier 2011 à 11:27:33 | Re : Capture d'evenements checkbox sur tableau genere dynamiquement

eikichi

Membre Club
Merci beaucoup pour vos suggestions, cela m'a bien aiguillé.
mercredi 12 janvier 2011 à 13:44:38 | Re : Capture d'evenements checkbox sur tableau genere dynamiquement

squonk14

De rien.
N'oublie pas d'accepter la Réponse pour cloturer la discussion.


-------------------------------------------------------------
Il ne suffit pas d'être inutile. Encore faut-il être odieux.


Cette discussion est classée dans : code, checkbox, tableau, echo, row


Répondre à ce message

Sujets en rapport avec ce message

récurération de la valeur d'une cellule d'un tableau créer dynamiquent à partir d'une base de données [ par brandon ] Bonjour, alors voila mon problème :je crée un tableau à partir d'une base de données mysql de la façon suivante :$requete="SELECT * FROM intervention Parcours d'un tableau en JS [ par Canyata ] Bonjour à tous [^^happy17] J'ai une question à vous poser. J'ai un tableau en HTML sur ma page: [code=php]echo""; echo""; echo""; echo""; onSubmit qui submit pas... [ par klytorh ] Bonjour a tous après de longues heures a chercher comment faire je me tourne vers vous car j'en peux plus!!! Voila j'ai 2 formulaires dans ma page Ph Trouver le numéro d'une ligne [ par Canyata ] Salut à tous, j'ai un petit soucis :) J'ai un tableau en html/php: [code=php]echo""; echo"";[/code] Grace au javacript, j'arrive lorsque l'on clic Recuperer le resultat d'un fonction Php [ par jimmypage64 ] Bonjour, J'utilise jQuery et je voudrais afficher le contenu d'un fichier texte dans ma page. La fonction d'affichage est la suivante : [code=js]fun Connaitre le nombre de checkbox cochées dans un formulaire [ par xavh44 ] Bonjour, j'essaye de vérifier, dans un formulaire qui contient plusieurs checkbox nommées de cette manière [code=js]name="choix[]"[/code], qu'au moin Un ^peu d`aide si possible [ par SamJC ] Bonjour, j'avais besoin de laide en JS donc je me suis inscrit a ce site, si c'est possible sa serait apprecier Donc, comme exercice pour une classe c Probleme Rafraîchissement tableau master détails [ par aymen8219 ] bonjour, je suis entrain de développer un interface pour la consultation des action en bourse. je viens de créer deux tableau master détails en Jquer Suppression de lignes ajoutées, dans un tableau [ par ju0123456789 ] Bonjour, Tout d'abord désolé si je ne suis pas dans le bon sujet. Ensuite, J'ai un tableau par défaut avec 3 lignes. J'ai créé un bouton qui en créé tableau dynamique avec jquery [ par mdh12 ] salut, je veux savoir est ce que c'est possible de créer un tableau dynamique avec jquery en html si on fait appel à ce tableau [code=html][code=htm


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales