Bonjour à tous,

je viens vers vous aujourd'hui car j'ai un soucis de scrollbar. J'ai créer une <table> html avec un nombre de ligne dynamique, ainsi ma <table> est insérée dans une <div> qui rend son <tbody> scrollable (cela peut monter jusqu’à 500/600 lignes donc pratique pour que la ligne des titres de colonnes reste visible).

Mon soucis est de pouvoir sauvegarder la position du scroll du <tbody> de ma <table> au moment ou l'utilisateur submit le <form> et ensuite ré-afficher ma <table> à la même position de scroll (le submit modifiera la <table>, la plupart du temps à l'endroit ou l'utilisateur était au moment du submit.

J'ai pas mal chercher sur internet mais je n'ai pas réussi à adapter les solutions des internautes à mon code, j'espère que dans mon cas ce n'est pas trop spéciale et que vous saurez me guider sur la bonne voie, voici actuellement comment j’essaie de le faire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$scroll = 0;
if (isset($_POST['scroll'])) {
	$scroll = $_POST['scroll'];
}
 
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
	function SetDivPosition() {
		var intY = document.getElementById("scrollContent").scrollTop;
		document.getElementsByName('scroll')[0].value = intY;
	}
	function getDivPosition() {
		document.getElementById("scrollContent").scrollTop = <?php echo $scroll; ?>;
	}
</script>
 
<div id="tableContainer" class="tableContainer">
<tbody class="scrollContent" id="scrollContent" onscroll="SetDivPosition();" onload="getDivPosition();">
Je suis sur que je dois faire une erreur bête et que c'est proche de fonctionner !

Merci d'avance.

Cordialement,
Dewey.