Bonjour à tous,
je code un formulaire qui contient un tableau, et je voudrais pouvoir modifier une cellule du tableau en cliquant dessus, puis je modifie la valeur dans un prompt() et enfin je recharge le div qui englobe la cellule.
C'est sur cette dernière étape que j'ai un problème.
Après plusieurs essais, voici la partie concernée de mon code:

Dans le header:
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
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">  </script>
<script type="text/javascript">
 
 
//function displayValue() {
 
$(".toreload").on('click',function() {alert("poi");
 
        // je récupère les valeurs
        var saisie = $('#saisie').val(); alert('saisie js:'+saisie);
 
        // je vérifie une première fois pour ne pas lancer la requête HTTP
        // si je sais que mon PHP renverra une erreur
        if(saisie == ''){
            alert('Les champs doivent êtres remplis');
        } else {
            // appel Ajax
            $.ajax({
                url: $(this).attr('action'), // le nom du fichier indiqué dans le formulaire
                type: $(this).attr('method'), // la méthode indiquée dans le formulaire (get ou post)
                data: $(this).serialize(), // je sérialise les données (voir plus loin), ici les $_POST
                success: function(html) { // je récupère la réponse du fichier PHP
			 $('div.toreload').html();
                }
            });
        }
        return false; // j'empêche le navigateur de soumettre lui-même le formulaire
});
//};
</script>
 
<script language="JavaScript"> 
function changeValue(r,t,v){
 
    var rows = document.getElementById("tableau").rows;
    var numOfRows = rows.length
    var numOfCols = rows [0].cells.length;
    var rowElement = rows[t];
    var cellNode = rowElement.cells[v];
 
    if(confirm ("Vous aller modifier la valeur: "+ cellNode.innerHTML)) 
         var saisie = prompt("Nouvelle valeur:", cellNode.innerHTML);
 
    if (saisie!=null) {
         document.forms["compare"].elements["name"+r+t+v].value=saisie;
         alert(document.forms["compare"].elements["name"+r+t+v].value);
    }
}
</script>
Code PHP:
Code php : 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
echo "<form id='compare' method='post' action ='modif.php'>";
[...]
echo "<table id='tableau'>";
$t=1; $r=1;
foreach($liste1 as $ligne => $donnees){
    echo "<tr id='ligne'><td style='background-color:#ccc'><input type='checkbox' id='check1' name='valeur.$r.$t' value='".implode(";",$donnees)."'></td>";
 
    $liste1_all[]=implode(";",$donnees); //echo "liste1_all:"; print_r($liste1_all);
 
    $v=1;
    foreach($donnees as $cle => $value){
 
        if(in_array($value,array_keys($tab_compare)) && isset($tab_compare[$value]) && isset($title1[$cle]) && strtoupper($title1[$cle])==$tab_compare[$value]) // on filtre aussi sur le titre
             echo "<div id='toreload' class='toreload'><td style='background-color:#7FDD4C' onclick='changeValue($r,$t,$v);'>"; //vert
        else 
             echo "<div id='toreload' class='toreload'><td style='background-color:#FF5E4D' onclick='changeValue($r,$t,$v);'>"; //rouge
 
        echo utf8_decode($value); echo "</td></div>";
        echo "<input type='hidden' id='id$r$t$v' name='name$r$t$v' value='$value'>";
        $v++;
    }
    $t++;
 
    echo "</tr>";
}
echo "</table>";
Comment afficher ma valeur dans la cellule svp? Je ne parviens même pas à afficher l'alerte de test "poi" :\