Je reviens vers vous pour une toute nouvelle histoire ... En effet, il y a quelques temps j'avais demandé pourquoi mes div ne voulaient pas se cacher : javascript-ajax/creation-une-fonction-s ... 51644.html
A l'époque du message c'était parce que je n'appelais pas correctement la fonction: étant donné que je faisais un PHP ECHO du code HTML et javascript il a fallu que je mette des " \ " pour que l'appel se fasse correctement.
J'avais 'développé' une fonction me permettant d'afficher ou cacher une div par simple clic.
Fonction que j'ai revu depuis grâce au message de Truc.
Voici donc la fonction (made by Turc) que j'utilise actuellement pour afficher / cacher une div :
function showHide (id)
{
//recuperation de l'etat actuel de l'element et affectation de son opposé
var showHide = (document.getElementById(id).style.display == 'none' ) ? 'block' : 'none';
//nouvelle valeur pour l'element id
document.getElementById(id).style.display = showHide
}
//appel
showHide("documentDetailContainer");
showHide("optionsDetailContainer");
Maintenant, je suis confronté à un problème car il faudrais que le système puisse garder en mémoire les div fermés pour qu'ils restent fermés même après un refesh de la page.
Le truc, c'est que par défaut, TOUS les div doivent s'afficher.
Si un utilisateur clique pour cacher ou afficher une DIV, son état (display:none ou block) doit rester en mémoire même après POST d'un formulaire ou resfresh simple de la page.
Le gros truc ... pour ne pas dire "turc", c'est que je ne sais pas comment faire pour y parvenir...
Comme d'hab, je me demandais si des personnes pouvaient m'aider en postant quelques codes d'exemple commentés pour que je puisse réaliser la fonction par moi-même.
Toutes les contributions, explications, commentaires et suggestions sont franchement les bienvenues.
Merci pour tout,
Raph