Liens js et w3c... [Fermé]

Signaler
-
 dani -
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

Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
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.
Messages postés
18398
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
2 avril 2020
4 155
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>
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>
avion-f16
Messages postés
18398
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
2 avril 2020
4 155
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é.
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
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?
lut;

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