Liens js et w3c...

Fermé
dani - 22 sept. 2010 à 19:12
 dani - 23 sept. 2010 à 23:04
Bonjour,

Je termine mon site web et je souhaiterai valider en w3c...

J'ai quelque part dans ma source un lien vers une fonction <a href="javascript:mafonct()">txt</a> mais le problème est que c'est pas apprécié...

comment faire les liens js dans la plus belle méthode (XHTML 1T/css 2.1) ?

4 réponses

M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
22 sept. 2010 à 19:32
Bonjour,

Il me semblait que le validateur était clair lors de l'affichage de l'erreur.

Ce qu'il faut, c'est écrire son lien différemment:
<a onclick="mafonct();" href="#">txt</a>

Rien que ça, ça passera au validateur. Pour plus de lisibilité, il est possible de mettre quelque chose d'autre que "#" dans le href, et d'annuler la redirection du lien par javascript. je n'ai par contre pas le code en tête pour faire ça.
0
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
22 sept. 2010 à 20:38
Salut.
Pour annuler le lien, il faut faire un return false.
Si ce n'est pas fait, la barre de défilement remontera en haut.

<a href="/article-3.html" onclick="afficherArticle(3); return false;">
    Lire l'article en entier
</a>
0
madien> oui mais si on est dans le bas de l'écran, il va remonter tout en haut ...

Donc selon vous, la méthode la plus propre et valide serai celle ci ?

<a href="#" onclick="mafonctionperso(); return false;">
Executer la fonction perso
</a>
0
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
23 sept. 2010 à 17:11
Oui.
Mais comme je l'ai montré dans mon exemple, dans certains cas, il vaut mieux mettre une vraie URL, au cas où le JS serait désactivé.
0
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
23 sept. 2010 à 22:33
Pour moi, l'adresse "#" est une vraie adresse, même si cela correspond à un lien vide.

De toute manière, l'utilisation du javascript ne devrait pas être pris à la légère.
D'où ma question bête: Que fait ta fonction javascript?

Car si ce n'est pas une redirection ou un lien ajax, alors il serait peut-être plus judicieux de mettre un bouton plus qu'une balise de lien?
0
lut;

mon lien javascript post un formulaire ... mais il se trouve en dehors de celui ci ...
0