Effet utilisé sur Facebook

Répondre
raphlight
le 04/11/2008 à 19:06
raphlight
Actuellement mon script sert à afficher le commentaire mais en cliquant sur un lien.

Je souhaite que le commentaire soit déroulé après avoir cliqué sur le bouton "Envoyer"...


Suis-je clair ? :S
http://raphlight.free.fr/trad.php
LA GLOBULE
le 04/11/2008 à 20:07
LA GLOBULE
Ben remplace le lien par un bouton et place y un onclick pour gérer ce qui va se passer quand on cliquera dessus.
raphlight
le 04/11/2008 à 20:59
raphlight
Hum...si j'ajoute un Onclick, le script d'ajout du commentaire au fichier .htm fonctionnera toujours ?

Je pensais que le Onclick annulerait la fonction submit du bouton ... ca n'est pas le cas ?
http://raphlight.free.fr/trad.php
LA GLOBULE
le 04/11/2008 à 21:09
LA GLOBULE
Ca peut annuler, ou ca ne peut pas. Tout dépend de ton code. Et dans la fonction que tu attribueras au onclick, tu peux mettre dedans ensuite un bout de code qui va soumettre le formulaire (et donc faire ton déroulement avant).
raphlight
le 05/11/2008 à 11:55
raphlight
Je dois donc avoir un "mauvais" code car ca ne marche pas...

En rajoutant un Onclick, le script marche exactement pareil qu'avant; le Onclick n'est pas pris en compte, c'est comme si il n'y en avait pas...

comment alors avoir un "bon" code pour que cela fonctionne ?


Pour ce qui est de faire un déroulement avant je ne sais pas comment m'y prendre... comment faire cela, un bout de code ...php dans le onclick ?
http://raphlight.free.fr/trad.php
LA GLOBULE
le 05/11/2008 à 12:17
LA GLOBULE
Pour que le formulaire ne se valide pas quand tu clics sur le bouton, tu dois faire un truc du genre :

<script type="text/javascript">
function blu() {
alert('blu');
}
</script>

<form action="" method="post">
<input type="submit" name="go" value="pom" onclick="blu(); return false;" />
</form>


Sinon le déroulement, c'est ton code scriptaculous que tu dois lancer non ?

Pour cela, tu dois mettre ce code dans la fonction blu() de mon exemple. A cette fonction ensuite de soumettre le formulaire.
raphlight
le 05/11/2008 à 14:30
raphlight
Je crois que j'ai compris.

Ca serait donc un truk de ce style là :

<head>

<script src="scriptaculous-js-1.8.1/lib/prototype.js" type="text/javascript"></script>
<script src="scriptaculous-js-1.8.1/src/scriptaculous.js" type="text/javascript"></script>
<script src="scriptaculous-js-1.8.1/src/unittest.js" type="text/javascript"></script>

<script type="text/javascript">
function blu() {
effect_1 = Effect.SlideDown('d1',{duration:2.0});

// Ici on soumet le formulaire en javascript

}
</script>

</head>

<body>

<script type="text/javascript" language="javascript" charset="utf-8">
// <![CDATA[
var effect_1 = null;
// ]]>
</script>

<div id="d1" style="display:none;"><div style="background-color:#ff8080;width:300px;border:2px solid red;padding:10px;">
<p><?php echo $_POST['msg']; ?></p></div></div>

<form method=POST action="">
<input type=text name=msg CLASS=champ size=15>
<input type=submit name=envoyer value=Envoyer CLASS=bouton onclick="blu(); return false;">

</body>


Resterait donc 2 problèmes :

1) Mon echo ne fonctionne pas.

2) Je ne sais pas comment soumettre un formulaire à l'aide du javascript (mais ca il me suffit surement de "lire la doc" :P)
http://raphlight.free.fr/trad.php
LA GLOBULE
le 05/11/2008 à 15:44
LA GLOBULE
1) Ton problème d'echo, c'est un problème basique de PHP : $_POST['msg'] n'existe surement pas ou il est vide (en même temps, si tu dis que ton formulaire ne se soumet pas, y'a peu de chance que $_POST['msg'] existe).

2) tu peux mettre un id="toto" sur la balise <form> du formulaire, et dans ton javascript, un truc du genre document.getElementById('toto').submit();
raphlight
le 05/11/2008 à 15:56
raphlight
I/ Oui je sais que je ne peux pas afficher la variable $_POST['msg'] sans avoir soumis le formulaire avant.

Mais il me faut donc, dans l'ordre, dans la fonction blu() :
1) Soumission du formulaire
2) SlideDown

et non l'inverse, c'est ca ?


II/ En faisant cela, le formulaire est "soumis". Ok.
Mais comment ajouter le contenu de celui-ci au fichier commentaires.htm comme je le faisais en php ?
http://raphlight.free.fr/trad.php
LA GLOBULE
le 05/11/2008 à 17:31
LA GLOBULE
I/ Ben si tu soumets le formulaire avant de faire ton ouverture de div, tu peux virer le onclick du bouton alors, et lancer le JS scriptaculous on onload de la page.
(je t'avoue que je viens juste de comprendre ce que tu voulais : soumettre le formulaire et re afficher la page et faire en sorte que le commentaire soumis s'affiche en se dépliant. C'est con, mais avec tes explications, j'avais compris que tu voulais déplier un div et ensuite soumettre un formulaire :S)

II/ En le sélectionnant dans la base SQL avant d'afficher ton HTML ? Ou bien en utilisant directement la valeur $_POST. Mais la, ca n'a aucun rapport avec le JS, tu dois juste écrire le commentaire dans le div.
Répondre
LoadingChargement en cours