Help au sujet de div ( afficher cacher)

Résolu
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010 - 17 sept. 2009 à 16:09
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010 - 21 sept. 2009 à 19:44
Bonjour à tous ( et je m'excuse par avance pour mon Franchaich qui est pas bien Franchaich )

alors voila le problème...
je suis en train de créer une sorte de site modifiable directement en ligne...
tout les textes sont stoké dans une bd.

J'ai un lien éditer qui permet après clic, d'afficher une div pour modifier le titre1 (div qui s'affiche en dessous berck), j'oubliais, le lien éditer se transforme en lien fermer quand la div est ouverte et donc permet de refermer la div de modification du titre)
mon soucis est que la div de modification s'affiche sous le titre original...

je cherche en vain à se que quand on clique sur éditer, le texte original disparesse et affiche à la place la div ( avec le lien fermer) qui permet la modification du texte..

j'ai fait pleins d'essai mais les solutions et exemples proposés sur internet propose bien de faire afficher une div mais garde le lien édit..

en gros pour essayer d'être claire ( ouais, je sait, c'est pas mon fort ) il faudrais avoir 2 div l'une l'ié à l'autre de manière à se que quand on appel la div2 pour modifier le titre, la div 1 se cache ( bouuu la pas belle)


il faut savoir aussi que je compte proposer la modification de tous les textes ex:

Titre 1
Contenu text1

Titre2
Contenu text2.....

un exemple pour le titre1

<? echo $contenu2 ; ?> [# éditer]


<form name="contenu2" action="modif_contenu2.php" method="post" id="editer">
<?php echo $contenu2; ?> 
[# Transformer] 

<textarea name="contenu2" id="areaInvisible"><?php echo $contenu2; ?></textarea> 

<script language="JavaScript" type="text/javascript">
<!--
function CopyContent(sHtmlSource, sTextTarget)
{
document.getElementById(sTextTarget).innerText = document.getElementById(sHtmlSource).innerHTML;
}
//-->
</script>
                                        [# Enregistrer]
                                      </form>
                                    


merci pour votre aide car la je nage et j'ai même perdu pied ;)

34 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
18 sept. 2009 à 10:38
mettre dans une fonction, c'est plus clair...



<script type="text/javascript">
function trait()
{ if ( document.getElementById('contenu2').style.display=='block' )
{ document.getElementById('lien_contenu2').innerHTML='éditer';
document.getElementById('contenu2').style.display='none'
}
else { document.getElementById('contenu2').style.display='block';
document.getElementById('lien_contenu2').innerHTML='fermer';
}
}
</script>
[javascript:void(trait()); éditer]


exemple



3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
18 sept. 2009 à 15:59
ah... les div sont "liés" 2 à 2 !
et la 2ème de "chaque groupe"
ne fait que "remplacer" la 1ère ?
on ne la cache plus alors ???

appel( lien, div affiché, div qui va remplacer )

fonction ( lien, div affiché, div qui va remplacer )
si style.div affiché = inline
style.div affiché = none
style.div de remplacement = inline
lien = fermer
sinon
style.div affiché = inline
style.div de remplacement = none
lien = éditer
fin si

mais toujours loin d'être sur que
c'est ce que vous voulez....
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
18 sept. 2009 à 17:23
ben ??? vous avez votre script initial
puis modifié !? non ?
et :
appel( lien, div affiché, div qui va remplacer )

fonction ( lien, div affiché, div qui va remplacer )
si style.div affiché = inline
style.div affiché = none
style.div de remplacement = inline
lien = fermer
sinon
style.div affiché = inline
style.div de remplacement = none
lien = éditer
fin si
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
17 sept. 2009 à 16:28
Bonjour,
>>l faudrait avoir 2 div l'une liée à l'autre de
>>manière à ce que, quand on appelle la div2 pour
>>modifier le titre, la div 1 se cache
dans la fonction appelée pour modifier le
titre de div 2 faire votre_div1.style.display="none"
Cordialement [mon Site] [M'écrire] Bul
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010
17 sept. 2009 à 18:47
Yes une réponse merci Bul3..
tu n'aurais pas un exemple car le javascript et compagnie...
merci pour ta réponse
0
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010
17 sept. 2009 à 19:00
j'oubliais de dire, j'ai pas encore mis de fonctions javascript dans le head ou de div pour le titre1.. car comme dit, les choses que j'ai essayer ne me conviennes pas.
0
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010
17 sept. 2009 à 20:42
Hello, alors j'ai fait plusieurs essais en ayant rajouter une balise un div au début la ou s'affiche le titre normale se qui fait donc :

<? echo $contenu2 ; ?>

puis dans le système en dessous qui gère mon effet de lien éditer/fermer ainsi que la div pour la modification du texte :

[# éditer]



j'ai donc essayer d'inclure la fonction donné par Bul3 à savoir :
contenu.style.display="none" ou contenu.style.display='none' ou la mêm chose mais avec == à la place de = etc.etc.. mais je n'arrive à rien :(
merci pour votre aide.
0
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010
18 sept. 2009 à 08:23
personne pour me donner un indice? je suis perdu !
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
18 sept. 2009 à 13:54
ça convient ou pas
oui, oui () le dire aurait été bien.
si, si () ça serait bien de le dire.
non, non (), comment vous faites, ça devrait fonctionner.
0
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010
18 sept. 2009 à 14:28
Super Mr Bul3...
tout marche nickel exactement comme je le voulais ( chacun son métier ;)

il me reste une question ( même si sa paret bête comme question)

l'exemple que tu m'a donner est pour la gestion des div "contenu1 et contenu2)

ma question est vue que je doit avoir autant de div que de partie ou le texte est modifiable ( on vas dire entre 5 et 10 par page) je doit refaire l'exemple pour chaque div?
ex 1 pour le titre, un pour le contenu2, un pour le titre3, un pour le contenu 3.... ?
c'est bien cela?

en tout cas, merci énormément pour cette fonction
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
18 sept. 2009 à 14:39
>>je doit refaire l'exemple pour chaque div?
"surtout pas",
"il suffit" de passer ces div en paramètres

[javascript:void(trait(this,'contenu2')); éditer]

deux

[javascript:void(trait(this,'contenu3')); éditer]

trois

...

function trait( lien, iddiv )
{ if ( document.getElementById(iddiv).style.display=='block' )
{ document.getElementById(lien).innerHTML='éditer';
document.getElementById(iddiv).style.display='none'
}
else { document.getElementById(iddiv).style.display='block';
document.getElementById(lien).innerHTML='fermer';
}
}

par exemple.... ou "pas loin"
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
18 sept. 2009 à 14:43
mea culpa !

function trait( lien, iddiv )
{ var d=document.getElementById(iddiv);
if ( d.style.display=='block' )
{ lien.innerHTML='éditer';
d.style.display='none'
}
else { d.style.display='block';
lien.innerHTML='fermer';
}
}

ça ira probablement un peu mieux !
0
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010
18 sept. 2009 à 14:49
ok mais il me reste un petit souci la
jem me rend compte que c'est " presque ca"

en effet, la, en gros on à un lien qui permet d'ouvrir une div tout est nickel..
mais à la base, il doit y avoir une autre ?

ex: ma div1 ( mon texte bla bla dedans ) bouton éditer
on clic sur éditer
la dive s'affiche à la place de la div un ( comme actuellement)..
ou alors c'est moi qui ai loupé une marche sur l'escalier du honheur...
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
18 sept. 2009 à 15:00
navré... pas compris.
j'avais proposé "n liens pour n divs"
cru comprendre que c'était ce qu'il fallait (?)
0
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010
18 sept. 2009 à 15:00
Attand
0
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010
18 sept. 2009 à 15:01
juste pour infos, la fonction fermer ( le lien ) ne s'affiche plus ( sa reste éditer) mais la fonction marche, la div se referme
0
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010
18 sept. 2009 à 15:10
en faite ( je vais essayer d'être claire)
se que tu m'avais fait à la base est bon dans le principe

mais en gros, je voudrais avoir une div1 avec le contenu de la base ( d'ou le <?php echo $contenu1; ?>) en dessous le bouton éditer

puis, quand tu clique sur éditer, j'ai la div2 qui s'affiche à la place de la div1 ( je remet le <?php echo $contenu1; ?> ainsi que du code etc.etc dedans ainsi que le lien enregistrer etc) et en dessous le lien fermer.

c'est pour sa que j'avais mis mon deuxième poste il était p'tetre plus claire ;)
0
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010
18 sept. 2009 à 15:13
heuuu le lien éditer ne doit être que sur la div1 et le lien fermer sur la div2 pas les deux en même temps quoi
au pir même un lien à chaque div est aussi bien qu'un lien qui se transforme quand la div est ouverte ou fermer...
j'espère que tu aura réussi à me comprendre ;)
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
18 sept. 2009 à 15:17
euh... pouvez-vous "réexprimer" ?
il y a "n" liens ou pas ?
"n" div associés ou pas ?
ces div se cachent/s'affichent sur les click
des liens associés ou pas ?
le click sur le lien 2 cache-t-il le div
associé au lien 1 ou pas ?
...
handicapé nasal (**) vous avez tout pour
faire normalement, ce n'est qu'une question
de définition de ce qu'il faut faire...


(**) néanmoins.
0
wiby35 Messages postés 39 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 11 avril 2010
18 sept. 2009 à 15:18
ok alors :
0
Rejoignez-nous