Bonjour, j'ai mis au point un affichage de tableau en mode pagination, et je souhaite aussi pouvoir mettre à jour les données dynamiquement, pour cela j'ai une requête Ajax qui fait appel à un programme updateDyn.php.
Cependant je n'arrive pas à gérer la boucle d'événement pour que les "click" sur les elements du tableau dans la fonction ReponseAuxModifs() permettent la mise à jour des données en base. De manière aléatoire en utilisant le debugguer cela marche mais pas en fonctionnement continu. Merci d'avance de votre aide.
Le code Javascript est ci-dessous.

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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
 
$(document).ready(function()
{
 
let Debut=$("#Debut").text();
let Fin=$("#Fin").text();
$.ajax({
    url: "PHP_Pour_Ajax/MiseAjourTableauPagination.php",
   type: "POST",
    data: {ledebut:Debut,
          lafin:Fin},
    success: function(data){
      $("#TableauRetourJquery").html(data);
    },
    error: function(){}
    });
    Prec.addEventListener('click',ReculerListeAffichage);
    Suiv.addEventListener('click',AvancerListeAffichage);
    MAJ();
 
});
 
 
 
const  Prec=document.getElementById("Précédent")
const  Suiv=document.getElementById("Suite")
 
 
 
 
function ReculerListeAffichage()
{
  let ValeurDebut=$("#Debut").text();
  let ValeurFin=$("#Fin").text();
  let ValeurChiffreDebut = parseInt(ValeurDebut)-10;
  let ValeurChiffreFin = parseInt(ValeurFin)-10;
  if (ValeurChiffreDebut<0) {ValeurChiffreDebut=0;}
  if (ValeurChiffreFin<10) {ValeurChiffreFin=10;}
  $("#Debut").text(ValeurChiffreDebut);
  $("#Fin").text(ValeurChiffreFin);
  MAJ();
}
 
function AvancerListeAffichage()
 
{
  let ValeurDebut=$("#Debut").text();
  let ValeurFin=$("#Fin").text();
  let ValeurChiffreDebut = parseInt(ValeurDebut)+10;
  let ValeurChiffreFin = parseInt(ValeurFin)+10;
  $("#Debut").text(ValeurChiffreDebut);
  $("#Fin").text(ValeurChiffreFin);
  MAJ();
}
 
Prec.addEventListener('click',ReculerListeAffichage);
Suiv.addEventListener('click',AvancerListeAffichage);
 
 
 
function ReponseAuxModifs()
{
$("td").click(function()
 {
  if( $(this).attr("contenteditable") == "true")
  {
   // le"id" du td doit contenir l'id de la BDD
   // le "name" doit contenir le nom du champ à modifier
    var contenu_avant = $(this).text();
     var id_bdd = $(this).attr("id");
     var champ_bdd = $(this).attr("name");
   //alert("avant =" + contenu_avant);
   $(this).blur(function()
       {
        var contenu_apres = $(this).text();
        //alert("contenu apres = " + contenu_apres);
 
        if (contenu_avant != contenu_apres)
          {
            parametre='id='+id_bdd+'&champ='+champ_bdd+'&contenu='+contenu_apres ;
           //alert(param) ;
           $.ajax({
             url: "updateDyn.php",
             type: "POST",
             data: parametre,
             success: function(html) {
                   //alert(html);
                   }
                 });
           }
         });
       };
     });
}
 
 
 
 
function MAJ(){
 let Debut=$("#Debut").text();
 let Fin=$("#Fin").text();
 $.ajax({
     url: "PHP_Pour_Ajax/MiseAjourTableauPagination.php",
 		type: "POST",
     data: {ledebut:Debut,
           lafin:Fin},
     success: function(data){
       $("#TableauRetourJquery").html(data);
       if (data.length<100)
       {
         $("#Debut").text(Debut-10);
         $("#Fin").text(Fin-10);
 
       }
     },
     error: function(){}
     });
    ReponseAuxModifs();
 
 }