Page 1 sur 1

comment rafraichir essai.php# en cliquant une seule fois ?

Posté : 04 mars 2006, 18:51
par - HXSS -
Bonsoir le peuple Javascriptien : x

J'ai un soucis lors d'un rafraichissement de ma page essai.php ...
un utilisateur peut agir sur la page et elle change d'adresse à cause du
<a href="#" ...> en essai.php#

et quand je veux rafraichir ma page pour annuler les manip de l'utilisateur avec une fonction toute bête

Code : Tout sélectionner

var URLpage = "essai.php"; function raz(){ location.href = URLpage; }
ça marche.. mais faut que je clique deux fois
une fois pour que le lien essai.php# redevienne essai.php et une seconde fois pour 'vraiment' recharger la page..

y'a t-il une solution à mon problème ? : /

Posté : 04 mars 2006, 19:17
par naholyr
Si tu veux annuler le comportement de base d'un lien (qui est d'ouvrir une page) il suffit de faire retourner une valeur à l'évènement onclick :
<a href="http://url" onclick="return false">un lien qui ne fait rien</a>
Du coup dans ton cas ce sera tout simplement
<a href="#" onclick="raz(); return false">Rafraichir</a>

Posté : 04 mars 2006, 19:42
par - HXSS -
non c'était pas pour annuler le comportement d'un lien mais annuler le comportement de l'utilisateur.. car pour l'instant quand l'utilisateur agit sur la page elle se transforme en essai.php#, du coup le rafraichissement se faisait pas

enfin bon j'ai trouvé j'ai juste rajouté une double location.href dans ma fonction.. jcroyais que j'avais testé, j'avais sans doute oublié de sauvegarder : O
c'pas très joli mais ça marche

désolé d'avoir posté pour rien : x

Posté : 04 mars 2006, 20:02
par naholyr
"c'est pas très joli mais ça marche" ne s'applique pas au Javascript. Un script "pas très net" ne va marche qu'avec certaines versions bien précises de certains navigateurs encore plus précis.

Je me méfierais à ta place ;)

Posté : 04 mars 2006, 20:42
par - HXSS -
hum.. c'est vrai.. mer.. credi

- cas de conscience -

le mieux serait que j'évite le lien avec le # comme ci dessous..
<A href="#" onclick="javascript:raz();">
<A href="javascript:raz();">
et là je pourrai faire une simple redirection au lieu d'une double

le problème c'est que c'est un peu plus compliqué et je sais pas si c'est faisable : s
est-ce que c'est possible d'enlever le # dans ce lien:

Code : Tout sélectionner

document.write("<A href='#' onmouseover=on_image("+i+") onmouseout=off_image("+i+") onclick='javascript:select_image_bis("+i+")'><IMG id=img"+i+" src='selecnul.gif' width=34 height=34 border=0 name=img"+i+" /></A>");
j'ai tenté quelques essais sans succès...

Posté : 05 mars 2006, 03:08
par naholyr

Code : Tout sélectionner

document.write("<A href='#' onmouseover=on_image("+i+") onmouseout=off_image("+i+") onclick='javascript:select_image_bis("+i+")'><IMG id=img"+i+" src='selecnul.gif' width=34 height=34 border=0 name=img"+i+" /></A>");

Code : Tout sélectionner

document.write("<A href='#' onmouseover='on_image("+i+")' onmouseout='off_image("+i+")' onclick='select_image_bis("+i+");return false'><IMG id='img"+i+"' src='selecnul.gif' width='34' height='34' border='0' name='img"+i+"' /></A>");
:?:

Posté : 05 mars 2006, 14:37
par - HXSS -
ha oui effectivement jsuis loin de coder proprement : ( du coup le return fasle ne fonctionnait pas dans ce que j'essayais..

merci beaucoup : x