baisser scrollbarr et vider formulaire

Par AaFrederic Husson, il y a 8 ans


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;

2 réponses

Lartak, il y a 8 ans

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 ... });
AaFrederic Husson, il y a 8 ans

merci à vous deux mon chat est terminé

j'ai juste modifié pour ne raffraichir que les derniers messages reçu et non la totalité