Dans mon formulaire de commentaires ajax, j'écris un premier message, et lorsque j'écris un second message, le premier message s'affiche, pareil pour le 3ème etc... .
Il faut que je recharge la page, pour que l'affichage global se fasse correctement.
Je pense que le problème ne vient pas de PHP, parce que l'insertion à la base de données se fait, et ce n'est qu'au rechargement de la page que l'erreur se corrige.
Faite le test en vous connectant sur un compte de test http://www.web-astronomie.fr/login :
- Avec comme email : "[email protected]"
- Mot de passe : "nico181290"
- Cliquez sur "Commenter", écrivez et envoyez avec la touche ENTER
- Si l'erreur ne se produit pas au début, continuez à écrire des commentaires avec des accents, bizarrement ça bug plus souvent avec des accents
Je précise que le submit se fait avec la touche ENTER.
Voici le script Ajax :
[javascript]
$('.text_coms').keyup(function(e){
if(e.keyCode == 13){
e.preventDefault();
var $this = $(this);
var dataString = "user_id="+$this.data('user')+"&coms_feed="+$this.data('feed')+"&coms_text="+encodeURIComponent($this.val());
$.ajax({
type: 'POST',
url: '../users/ajax/comment/create.php',
data: dataString,
success: function(data){
$('input[name=coms_text]').val('');
$this.parents('.statutPost').find('.newsCom').append(data);
$this.parents('.statutPost').find('.comsContainer').addClass('show');
}
});
}
});
[/javascript]
Voici le formulaire des commentaires :
<form method="post" action="home" class="statutCom" onsubmit="return false;">
<div class="clearfix">
<a href="#" class="postLink postComments"><i id="postComs"></i><span>Commenter</span></a>
<a href="#" class="postLink postLikes"><i id="postLike"></i><span>J'aime</span></a>
<span class="postText tooltip_top" title="<?php echo majuscule($feed['feed_acces']); ?>"><i id="post_<?php echo $feed['feed_acces']; ?>"></i></span>
</div>
<div class="postContainer">
<?php echo displayCom($feed['feed_id']); ?>
<div class="newsCom"></div>
<div class="comsComposer showCom">
<div class="clearfix">
<div class="avatarCom">
<img src="users/upload/avatars/<?php echo avatarMembre(); ?>" height="34" width="34" alt="" />
</div>
<div class="inputCom">
<input type="text" data-user="<?php echo infoMembre($id,'id'); ?>" data-feed="<?php echo $feed['feed_id'] ?>" class="text_coms" name="coms_text" placeholder="Écrire un commentaire" value="" />
</div>
</div>
</div>
</div>
</form>
J'aimerais que les doublons ne se fasse plus, et je ne sais pas comment faire Merci d'avance