Quand je post un nouveau message et quand je selectionne une autre discution ma scrollbare ne se baisse pas
Quand je post un nouveau message le formulaire ne se vide pas
voici le code jquery
$(document).ready(function() {
//var interval;
$("body").on('click', '.chat_profils_homme',function(event) {
event.preventDefault();
clearInterval(interval);
var url = $(this).prop('href');
$.ajax({url:url}).done(function(data) { $("#affiche_mess").html(data); });
interval = setInterval(function() {$.ajax({url:url}).done(function(data) { $("#affiche_mess").html(data); }); },1000); // je le met à jour toutes les 5 secondes
document.getElementById('affiche_mess').scrollTop=document.getElementById('affiche_mess').scrollHeight;
});
$('#ajoute_mess').on('submit', function(e) {
e.preventDefault();
var $form = $(this);
$.ajax({
url: '/fiche_cli/affiche_mess.php',
method: 'GET',
dataType: 'html',
data: $form.serialize()
}).then(function (data) {
$("#affiche_mess").html(data); // Mise à jour des messages
$.ajax({
url: '/fiche_cli/liste_profil.php',
method: 'GET',
dataType: 'html',
data: $form.serialize()
}).then(function (data) {
$("#list_profil").html(data);
$('.chat_profils_homme').position({
top : '30px'
});
}).catch(function (error) {
console.log(error);
});
document.forms['ajoute_mess'].reset(); // Reset du formulaire
document.getElementById('affiche_mess').scrollTop=document.getElementById('affiche_mess').scrollHeight; // Baisse la scrollbar
}).catch(function (error) {
console.log(error);
});
});
});
document.getElementById('affiche_mess').scrollTop=document.getElementById('affiche_mess').scrollHeight;
Tu n'as pas l'impression que tu fais sélectionner un peu trop souvent l'élément ayant l'ID __affiche_mess__ ?
Tu devrais plutôt créer une variable qui contiendra l'élément.
$('#ajoute_mess').on('submit', function(e) {
e.preventDefault();
var $form = $(this), afficheMess = document.getElementById('affiche_mess');
// suite du code ...
afficheMess.scrollTop = afficheMess.scrollHeight;
// suite ...
});
merci à vous deux mon chat est terminé
j'ai juste modifié pour ne raffraichir que les derniers messages reçu et non la totalité