Forum Clubic

Formulaire php avec renvoi vers une ancre

Bonjour,

Débutant en php je suis en train de réaliser une page assez longue et pour y faciliter la navigation, je place en haut un formulaire permettant d’accéder rapidement à une ancre du document :


<? echo '<form method="post" action="#'.$_POST['choix'].'">' ;?>
<select name="choix">
	<optgroup label="Groupe 1">
    <option value="ancre1">Option 1</option>
    <option value="ancre2">Option 2</option>
...
	</optgroup>
</select>
<input type="submit" value="Accès rapide" />
</form>

Voici une illustration du problème :
J’arrive sur la page. Je sélectionne Option 1 dans la boîte déroulante, puis envoie, la page se recharge, l’url affichée dans la barre d’adresse est …page.php# et je ne suis pas dirigé vers ancre1.
Je recommence, en sélectionnant n’importe quelle option (Option 1, 2 , n…) j’envoie, la page se recharge, l’url affichée est …page.php#ancre1 et j’arrive effectivement à hauteur de ancre1.

Comment faire en sorte de ne pas avoir à renvoyer une seconde fois les données du formulaire afin de faire afficher la page à hauteur de l’ancre désirée ? Existe-t’il un moyen équivalent de parvenir à ce résultat avec GET ?

Je vous remercie par avance.
Edité le 24/12/2007 à 16:22

<form method="post" action="" id="tonForm">
<select name="choix" onchange="document.getElementById( 'tonForm' ).action= '#'+this.value;">
	<optgroup label="Groupe 1">
 <option value="ancre1">Option 1</option>
 <option value="ancre2">Option 2</option>
...
	</optgroup>
</select>
<input type="submit" value="Accès rapide" />
</form>

Edité le 24/12/2007 à 16:57

pour les ancres, tu peux aussi utiliser directement le html

ancre 1

Merci bien, cela fonctionne comme désiré.

Le problème avec les liens hypertextes c’est que ça devient indigeste lorsqu’il y a beaucoup d’ancres (dans mon cas, il y en a bien plus de 2 :wink: )