Bonjour à tous,

J'ai un ptit probleme qui me rend complément ouf

explication : je veux récuperer la position du scroll de l'utilisateur, la mettre dans un champs input hidden d'un formulaire pour récupérer la variable post dans mon fichier de gestion de formulaires et pouvoir ainsi renvoyer l'utilisateur à la position où il se trouvait avant de soumettre le formulaire.

Voilà comment je my prends (le code est simplifié) :

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
19
20
21
/*fichier contenant le form*/
<script type="text/javascript">
	function meuh(qdqdqsdq)
	{
		alert(document.getElementById('positionScroll').value);//=>affiche 333(valeur par defaut)
		var posScroll = document.documentElement.scrollTop;
		document.getElementById('positionScroll').value=posScroll;
		alert(document.getElementById('positionScroll').value);//=>affiche la position du scroll courante (en gros ca marche bien)
		qdqdqsdq.form.submit();
	}
</script>
 
<form method="post" action="index.php?...blablabla" name="formCoordonneesModifier">
 
	<p>
		<input type="hidden" name="positionScroll" id="positionScroll" value="333" />
	</p>
	<div class="formBoutonModifier">
		<input class="bouton" type="button" onclick="meuh(this);return false;" value="Modifier" />
	</div>
</form>


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
/*fichier de recuperation des variables POST*/
<?php
	//position du scroll
	if(!empty($_POST['positionScroll'])){$positionScroll=htmlspecialchars($_POST['positionScroll']);}else{$positionScroll=0;}
 
	echo $positionScroll;//=> affiche 333 (la valeur par defaut dans le input hidden...)
 
	//placement de la fenetre en fonction du scroll précédent de l'utilisateur(ca marche c'est bon)
	?><script type="text/javascript">$(document).ready(function (){window.scrollTo(0,<?php echo $positionScroll;?>);});</script><?php
?>
Bref on dirait que le formulaire est soumis avant que la modif du input hidden soit effective, meme avec un return:false sur le onclick...

Merci d'avance pour votre aide