Bonjour,

Je suis en train de créer un site web pour une communauté de joueur et je cherche à faire un tableau dynamique comme ici.

On double clique dans la cellule, une zone pour éditer le texte apparait, une fois fini on appuie sur entrée et le contenu de la cellule a changé et la base de donnée a été éditée. J'ai trouvé un merveilleux tuto ici que j'ai suivi à la lettre et au final malheur... rien ne se passe... Le rectangle pour éditer le texte n'apparait pas et je ne trouve pas la solution. La fonction ondblclick fonction très bien je l'ai testé avec un alert mais j'ai l'impression quelle ne va jamais chercher la fonction inlineMod située dans le script....

Voici mon fichier inlinemod.js :
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
function inlineMod(id, obj, nomValeur, type)
{
	if(editionEnCours)
	{
		return false;
	}
	else
	{
		editionEnCours = true;
		sauve = false;
	}
 
	//Objet servant à l'édition de la valeur dans la page
	var input = null;
 
	//On crée un composant différent selon le type de la valeur à modifier
	switch(type)
	{
		//Valeur de type texte ou nombre
		case "texte":
		case "nombre":
			input = document.createElement("input");
			break;
 
		//Valeur de type texte multilignes
		case  "texte-multi":
			input = document.createElement("textarea");
			break;
	}
 
	//Assignation de la valeur
	if (obj.innerText)
		input.value = obj.innerText;
	else
		input.value = obj.textContent;
 
	input.value = trim(input.value);
 
	//On lui donne une taille un peu plus large que le texte à modifier
	input.style.width  = getTextWidth(input.value) + 30 + "px";
 
	//Remplacement du texte par notre objet input
	obj.replaceChild(input, obj.firstChild);
 
	//On donne le focus à l'input et on sélectionne le texte qu'il contient
	input.focus();
	input.select();
 
	//Assignation des deux événements qui déclencheront la sauvegarde de la valeur
 
	//Sortie de l'input
	input.onblur = function sortir()
	{
		sauverMod(id, obj, nomValeur, input.value, type);
		delete input;
	};
 
	//Appui sur la touche Entrée
	input.onkeydown = function keyDown(event)
	{
        if (!event&&window.event)
        {
            event = window.event;
        }
		if(getKeyCode(event) == 13)
        {
			sauverMod(id, obj, nomValeur, input.value, type);
			delete input;
		}
	};
}
Et ici ma partie HTML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<script type="text/javascript" src="./inlinemod.js"></script>
 
<td class="cellule" ondblclick="inlineMod(<?php echo $user['ID']; ?>, this, '10l', 'texte-multi');"><?php echo $user['10l']; ?>&nsbp</td>
10l étant le nom de ma colonne SQL, et l'ID est le nom de la personne de la base a qui la modification s'applique.

Merci aux âmes charitables qui prendront le temps de m'aider dans mon projet.
B1