Bonjour � tous,
Voici mon probl�me:
J'ai repris le tutoriel InlineMod disponible sur le site. Apr�s de nombreuses modifications et quelques simplifications, j'arrive bien � modifier le contenu du tableau dynamiquement ( lors du double-clique sur une cellule : champ -> cr�ation de l'input -> transfert vers champ.value ).
Or, la requ�te SQL ne s'effectue pas lorsque l'�dition de la cellule est termin�e. Voici les fonctions de mon fichier inlinemod.js (je vous montre celles qui nous int�ressent ) :
et voici sauverMod2.php
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 function inlineMod(id,obj,nomChamp,classe){ if(editionEnCours){ return false; }else{ editionEnCours=true; sauve=false; } champ=eval('new '+classe+'();'); champ.valeur=obj.innerText ? obj.innerText : obj.textContent; champ.id=id; champ.nomChamp=nomChamp; champ.remplacerTexte(obj,sauverMod()); champ.activerChamp(); } function sauverMod(){ xhr.onreadystatechange=function(){ if(xhr.readyState == 400){ if(!xhr.reponseText){ editionEnCours = false; champ.terminerEdition(); document.getElementById("erreur").innerHTML=""; return true; }else{ sauve=false; return false; } } } } Texte.prototype.remplacerTexte=function(parent,sauvegarde){ if(!parent || sauvegarde){ return false; }else{ this.parent=parent; } input=document.createElement('input'); input.value=this.valeur; input.style.width=getTextWidth(this.valeur)+10+"px"; input.setAttribute('method', 'GET'); input.onblur=function(){ sauverMod(); champ.terminerEdition(); } input.onkeydown=function keyDown(event){ if(window.event.keyCode==13){ sauverMod(); champ.terminerEdition(); } }; champ.terminerEdition(); parent.replaceChild(input,parent.firstChild); } } Texte.prototype.terminerEdition=function(){ this.parent.replaceChild(document.createTextNode(input.value), this.parent.firstChild); var querystring = "?champ=" + champ.nomChamp + "&valeur=" + champ.getValeur() + "&echap=" + champ.echapperValeur() + "&id=" + champ.id + ieTrick() ; xhr.open("GET" , "sauverMod2.php" + querystring , true); xhr.send(null); delete input; editionEnCours=false; sauve=false; }
J'ai d�j� vu pas mal de tutoriel l�-dessus, mais � chaque fois l'input �tait d�j� initialis� dans la page index.php (dont l'attribut method �tait aussi pr�cis�e). Le probl�me vient peut-�tre du fait que l'input est cr�� dynamiquement... j'ai d�j� test� avec la methode "post" et avec d'autres syntaxes plus simples pour la requ�te SQL.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php $con=mysql_connect("localhost","root","root") or die(mysql_error()); mysql_select_db("bootx",$con); $champ=$_GET["champ"]; $valeur=$_GET["valeur"]; $id=$_GET["id"]; $sql="UPDATE clients SET ".$champ." = `".$valeur."` WHERE clients.id = ".$id; mysql_query($sql,$con); mysql_close($con); ?>
(Je pr�cise que le code javascript n'a visiblement aucun probl�me)
Merci � vous.
Partager