Modification d'un ligne comme dans Analytics

WRInaute occasionnel
Salut,

J'ai besoin d'un petit coup de main. Je trouve pas mon bonheur, certainement parce que je n'utilise pas la bonne terminologie pour mes recherches.

En fait, je cherche pour une admin à rendre modifiable une ligne (<li>) en ajax, comme c'est le cas dans Analytics ou Adwords, mais je galère et je trouve pas de tuto.

Plutôt qu'un long discours, voici une capture d'écran de ce que je veux faire, mais j'ai du mal à gérer l'affichage du formulaire par dessus le texte, et sa disparition fluide lorsque l'on clique à l'extérieur :



Toute la partie php et traitement ajax, ensuite, y aura pas de souci.

Si quelqu'un peut m'aider ou connait un bon tuto, ce serait sympa.

Merci.
 
WRInaute discret
Pour faire ce que tu souhaites faire il faut que tu éxécutes une fonction javascript dans le onclick de ton lien modifier. Cette fonction doit faire apparaitre ton formulaire d'edition dans ta li.

Pour cela tu as deux choix (voir plus) :
- Créer le forumlaire dans tes li et mettre un style display:none dessus et quand tu cliques sur le bouton d'édition cela t'affiche le formulaire et cache ton champs classique.
- Remplacer le innerHTML de ton li par le code html formulaire.

Cette partie n'est pas de l'Ajax mais du simple javascript, ensuite tu n'as plus qu'a traité ton post/get de formulaire en Ajax et mettre à jour ton champs dans le li au retour de ton script php.

J'espère que ça t'aide, bon courage
 
WRInaute occasionnel
Re: Modification d'une ligne comme dans Analytics

Ouais, c'est ce que j'ai fait, soit ajouter dans le li, soit remplacer (je veux ajouter plutôt que remplacer), mais c'est pas super fluide, ni super ergonomique.

Par exemple, j'ai du mal à gérer proprement la fermeture du div d'update lorsque je clique en dehors, ou sur un autre li.

Enfin, je suis pas content de ce que je fais, c'est pour ça que je demandais si quelqu'un connait un tutoriel.

Autant je fais tout ce que je veux en ajax ou presque, autant j'ai du mal en JS pur. J'arrive toujours à mes fins, mais je perds bcp de temps et là pour le coup, j'en ai pas trop.

Merci.
 
WRInaute discret
Bon ben désolé, je t'avouerai que j'ai pas plus de temps que ça non plus pour réfléchir à la question ... j'aurai essayé, bon courage ;)
 
WRInaute occasionnel
Merci de ton aide.

Pour être clair, je demande pas une solution et que quelqu'un me donne un bout de code, je cherche juste à savoir si une méthode éprouvée (via un framework par exemple) existe pour ça, ou s'il existe un tuto complet quelque part pour éviter de pinailler trop longtemps et de perdre du temps.
 
Discussions similaires
Haut