Liens hypertexts foireux

Duke -  
Groarh Messages postés 682 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Mon problème est le suivant. J'utilise des liens hypertexts pour naviguer dans mon site. Si la destination du lien se trouve sur la même page que le lien, je ne peux pas revenir au lien de départ en utilisant la commande "précédent" du navigateur. Je vois bien l'adresse changer dans la barre d'URL mais l'affichage reste au même endroit. Si qqn a une idée géniale...
A voir également:

24 réponses

barok
 
J'ai un autre cas compliqué pour vous :

J'ai une page jsp. Avec un formulaire. Ce formulaire est validé par un input. Lors du clic sur celui-ci, un js se lance pour vérifier les champs. Si des champs sont faux, alors je ne valide pas le formulaire, je reste donc sur cette page (donc pas de rafraichissement).

Mon problème, c'est que ma page est grande, quand je vois le bouton input, je ne vois plus le haut de ma page (les erreurs sont affichées en haut, évidemment). Je voudrais donc retourner en haut de ma page si jamais il y a des erreurs.

j'ai donc placé une encre <a name="top"></a> en haut

et j'ai essayé à plusieurs endroits au niveau de mon input de mettre des href="#top", mais je reste en bas de la page.

Sauriez vous m'aider sur cet épineux problème? Merci beaucoup :)
0
Groarh Messages postés 682 Date d'inscription   Statut Membre Dernière intervention   185
 
Salut,
la solution est plus simple que tu ne penses : les inputs ont une méthode focus() qui, pour une fois, marche sous tous les navigateurs (sans doute parce qu’elle est très ancienne). Il suffit donc que ta fonction de vérification appelle focus() sur le premier input mal rempli, ce qui a pour effet de faire défiler la page jusqu’à ce qu’il soit visible, et de lui mettre la barre clignotante pour saisir du texte, comme si on avait cliqué dessus.

Et si les href ne marchent pas, c’est simplement parce que les inputs ne sont pas des liens…

;)
0
barok
 
Merci pour ta réponse.

Après de longues heures de recherche, il s'est avéré que seul une fonction onClick="ancre();" situé dans mon input et avec dans la fonction ancre :
window.location.hash="top"; //(j'ai bien sur placé un <a name="top"></a> dans ma jsp )

fonctionnait sous FF. Par contre, cela ne fonctionne pas sous IE. Sauriez-vous pourquoi?
0
Groarh Messages postés 682 Date d'inscription   Statut Membre Dernière intervention   185
 
Hmm, c’est un problème sur lequel je ne me suis jamais penché…
Pour voir j’ai demandé un hash à l’instant, et j’ai obtenu l’ancre avec le dièse. Peut-être qu’IE ne tolère pas qu’on modifie le hash sans mettre de dièse. Ce n’est qu’une piste, et je n’ai pas IE sous la main, donc je te laisse vérifier.

Bonne chance ;)
0