eviter de remonter en haut de page lorsque je valide

Kykyn
Invité n'ayant pas de compte PHPfrance

25 sept. 2007, 22:25

Bonjour à tous,

Je développe un petit site de pronos entre amis et j'ai un détail qui me gène et que je n'arrive pas à résoudre :

J'aimerais que lorsque qu'un joueur valide un prono, on ne se retrouve pas en haut de la page mais au niveau ou était le bouton de validation.

Voici un paerçu de comment se présente la page des matchs :

Image

Est ce que quelqu'un aurait une astuce pour ceci?

Merci d'avance

ViPHP
AB
ViPHP | 5818 Messages

25 sept. 2007, 23:09

Bonsoir,

Fallait plutôt poster dans la rubrique html car c'est de ça qu'il s'agit.

A la position que tu veux (vers le bouton) tu met une ancre. Dans ton submit par exemple tu indiques id="ancre", ou tu laisse l'id existant si tu en as déjà mis un.

Au réaffichage de ta page il faut que l'url d'appel soit du type htt://monsite.com#ancre ou http://monsite.com?variables=etc#ancre

Pour plus de détail tu tapes "ancre html" dans google

Dans ton cas comme tu as plusieurs boutons il faudra incrémenter l'ancre dans ta boucle. Tu auras donc au premier bouton id="ancre1", au second id="ancre2" etc

kykyn
Invité n'ayant pas de compte PHPfrance

26 sept. 2007, 08:28

hum ok je teste tout ça

la difficulté pour moi était justement cette histoire de boucle

merci encore et je vous tiens au courant si j y arrive

Bonne journée

ViPHP
AB
ViPHP | 5818 Messages

26 sept. 2007, 16:07

Oui, c'était pour le principe mais suivant les cas on peut faire plus simple sans avoir à incrémenter l'ancre. En fait il suffit que l'ancre soit unique et qu'on puisse y avoir accès facilement pour réafficher la page.

Dans ton cas puisque tu ne fais que des modifications tu peux sans doute utiliser l'id de l'enregistrement comme ancre. Un truc du genre id ="<?php echo 'ancre'.row['ID'] ?>"
Modifié en dernier par AB le 26 sept. 2007, 21:20, modifié 1 fois.

kykyn
Invité n'ayant pas de compte PHPfrance

26 sept. 2007, 19:35

c est ce que je tente de faire...sans succès pour le moment
..

encore merci, je te tiens au courant de l evolution des choses

Invité
Invité n'ayant pas de compte PHPfrance

26 sept. 2007, 20:07

J ai testé ceci :

Sur mon bouton :

Code : Tout sélectionner

echo '<td style="width:100px;"><input type="submit" id="ancre.$i" name="modifier" value="Modifier"/></td><input type="hidden" name="idmatch" Value='.$ligne[0].'>';
Au passage, le style devrait dans une feuille CSS mais j'ai récupéré le site d'un ami et pour le moment j'ai pas tout repris

et donc, voici où je me redirige :

Code : Tout sélectionner

<form action="ancre.php#ancre128" method="post">
sachant que 128 est la valeur de $i pour le dernier match

Lorsque ça se réactualise, je remonte toujours en haut de page..
Voyez vous d'où peut venir le souci?

ViPHP
AB
ViPHP | 5818 Messages

26 sept. 2007, 21:43

Tant qu'à le reprendre si ton formulaire est dans la partie html tu pourrais faire

Code : Tout sélectionner

<td style="width:100px;"><input type="submit" id="<?php echo 'ancre'.$i ?>" name="modifier" value="Modifier"/></td> <input type="hidden" name="idmatch" Value="<?php echo $ligne[0]?>">
Dans ton code précédent, dans l'input de type hidden "value" n'est pas correctement renseigné.


Puis

Code : Tout sélectionner

<form action="ancre.php#ancre128" method="post">

heu... la page que tu appelles s'appelle "ancre.php" ?

Si tu appelles la même page (celle sur laquelle tu es) la bonne syntaxe serait plutôt du genre

Code : Tout sélectionner

<form action="<?php echo $_SERVER['PHP_SELF'].'#ancre'.$i ?>" method="post">

kykyn
Invité n'ayant pas de compte PHPfrance

26 sept. 2007, 22:51

Hum hum c est à peu près ce à quoi jétais arrivé en farfouillant ce soir.

j ai mis à jour avec tes modifs mais j'ai une erreur de syntaxe, je regarderai ça demain.
Merci de ton aide en tout cas et à demain pour la suite!

bonne soirée

kykyn
Invité n'ayant pas de compte PHPfrance

30 sept. 2007, 00:12

Merci beaucoup, ça marche nickel!

bonne continuation

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 sept. 2007, 00:52

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

flex
Invité n'ayant pas de compte PHPfrance

23 mars 2014, 20:43

bonjour,

j'ai ce même problème mais même avec votre solution d'ancre, ça ne marche pas... ça a marché 2 fois il me semble puis plus du tout

dans mon formulaire, j'ai ceci
action="<?php echo $_SERVER['PHP_SELF'].'#ancre_form'; ?>"

et plus loin, j'ai mon ancre
<span id="#ancre_form"></span>

vous avez une idée d'où ça peut venir?
merci d'avance

ViPHP
xTG
ViPHP | 7331 Messages

24 mars 2014, 12:29

D'un problème d'interface chaise clavier ?
Si cela a fonctionner et que tu n'as rien modifié cela ne peut pas ne plus fonctionner.
Tu as donc du modifier quelque chose. ;)

Le code que tu nous montres sortis de son contexte est correct.