par
nico44530 » 23 mai 2014, 23:56
Bonjour,
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
Bonjour,
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 [url]http://www.web-astronomie.fr/login[/url] :
- Avec comme email : "[u]
[email protected][/u]"
- Mot de passe : "[u]nico181290[/u]"
- 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 :
[php]
<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>
[/php]
J'aimerais que les doublons ne se fasse plus, et je ne sais pas comment faire :(
Merci d'avance