Bonjours à tous.
Je cherche a mettre en place un script pour les commentaires postés sur mon site. En fait quand un internaute poste un commentaire, la page est rechargée entièrement et le commentaire posté est affiché.
Moi je voudrait qu'une fois que l'internaute a cliqué sur le bouton d'envoi, seul la balise <div> contenant les commentaires soit rechargée.
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <!-- Le formulaire --> <form name="comment" method="post" action="<attribute reply_to_url>" enctype="application/x-www-form-urlencoded" onsubmit="return ValidateForm()"> <input type="text" name="author_unidentified" class="commentname" value="Nom" onfocus="javascript:if(this.value == 'Nom') this.value='';" onblur="javascript:if(this.value == '') this.value='Nom';"/><br/> <textarea id="htmlareatext" class="commentmessage" name="htmlareatext" onfocus="javascript:if(this.value == 'Message') this.value='';">Message</textarea><br/> <input type="submit" name="add" value="Valider"/> <input type="hidden" name="action" value="process"/> <input type="hidden" name="type" value="add"/> </form>
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 <!-- L'affichage des commentaire (fonctionne avec du Perl) --> <div id="comments"> <object class=comments> <div style="width: 95%; height:auto;"> <object class=comment count=100000> <div class="virtualpage"> <table width="95%" style="text-align:left" border="1" id="article" align="center"> <tr> <td valign="top" style="width:120px" style="text-align:center"> <attribute author><br /> <attribute created_t.dd>-<attribute created_t.mm>-<attribute created_t.yy> <br/>à <attribute created_t.hh>:<attribute created_t.mi> </td> <td valign="top" style="padding:2px 10px 2px 10px"><p><attribute text></p> <p><attribute cmd></p> </td> </tr> </table> </div></object> </div> <div id="gallerypaginate" class="paginationstyle"> <span class="flatview"></span> </div> <script type="text/javascript"> var gallery=new virtualpaginate("virtualpage", 6) gallery.buildpagination("gallerypaginate") </script> </object></div>Les commentaires sont affichés dans une sorte de slide show (virtual pignation), ce qui je pense peut faciliter la tache. Voici le script utilisé : http://www.generap.com/files/virtualpaginate.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 <!-- Un code javascript empechant les internautes de poster des commentaires vides --> <script type="text/javascript" language='javascript'> function ValidateForm(){ MessageLength = document.comment.htmlareatext.value.length; Message = document.comment.htmlareatext.value; errors = ""; if (MessageLength < 2){ errors = "Vous devez entrer un commentaire"; } if (Message == 'Message'){ errors = "Vous devez entrer un commentaire"; } if (errors != ""){ alert(errors); return false; } else{ document.comment.submit.disabled = true; return true; } } </script>
Quelqu'un saurait-il résoudre mon problème ?
Partager