Bonjour,
J'ai un petit script qui affiche un formulaire quand je clique sur un lien, et qui affiche directement dans la page le message soumis via ce formulaire grâce à AJAX.
Quand je clique une fois sur le lien, le formulaire s'affiche et quand je fais un submit le message s'affiche bien, pas de problème.
Par contre quand je clique plusieurs fois sur le lien puis que je fais un submit de mon message, il s'affiche autant de fois que j'ai cliqué sur le lien depuis que je suis sur la page ! Je comprends pas pourquoi ça fait ça ! o_O
L'idéal serait de réinitialiser la fonction click quand on clique plus d'une fois dessus, une petite idée ?
Modifié par Tchernobyl (09 Aug 2011 - 16:10)
J'ai un petit script qui affiche un formulaire quand je clique sur un lien, et qui affiche directement dans la page le message soumis via ce formulaire grâce à AJAX.
Quand je clique une fois sur le lien, le formulaire s'affiche et quand je fais un submit le message s'affiche bien, pas de problème.
Par contre quand je clique plusieurs fois sur le lien puis que je fais un submit de mon message, il s'affiche autant de fois que j'ai cliqué sur le lien depuis que je suis sur la page ! Je comprends pas pourquoi ça fait ça ! o_O
L'idéal serait de réinitialiser la fonction click quand on clique plus d'une fois dessus, une petite idée ?

<script type="text/javascript">
$(document).ready(function(){
$(".commenter_message_wall").click(function(){
var element = $(this);
var id_under_wall = element.attr("id");
// On fait apparaître le formulaire
$("form#submit_under_wall"+id_under_wall).show(300);
// Traitement du formulaire
$("form#submit_under_wall"+id_under_wall).submit(function() {
var message_under_wall = $('#message_under_wall'+id_under_wall).attr('value');
$.ajax({
type: "POST",
url: "mon_url",
data:"message_under_wall="+ message_under_wall,
success: function(){
$("ul#under_wall"+id_under_wall).prepend("<li>"+message_under_wall+"</li>");
$("ul#under_wall"+id_under_wall+" li:first").fadeIn();
}
});
return false;
});
return false;
});
});
</script>
Modifié par Tchernobyl (09 Aug 2011 - 16:10)