Mais pourquoi tout prendre sous la critique lorsqu'on aide gentiment de façon la plus efficace ??
Alors puisque je passe pour un c..
Reprenons le B.A.BA.
Une balise HTML s'écrit <TagName></TagName> ou <TagName />.
Une balise HTML peut avoir des attributs les attributs s'écrivent <TagName attribut="valeur">...Voilà pour la base si donc tu avais écouté le conseil au lieu de t'offusquer, tu aurais tout seul comme un grand compris que
1 2
| <a href="http://free-website-translation.com/?fr" id="ftwtranslation_button" hreflang="fr" title=""
style="border:0;" onclick="<script>traduction = 'oui'; return false; </script>" /></a> |
ne peux pas être un code HTML conforme.
Et le fait de l'avoir fait par toi même t'aurait appris bien plus que de lire une solution toute faite.
<a href="http://free-website-translation.com/?fr" id="ftwtranslation_button" hreflang="fr" title="" style="border:0;" onclick="return toto();" /></a>
ensuite toujours en lisant le B.A.BA. de HTML
Un lien s'écrit <a href="url/du/lien">contenu du lien</a>.
Là encore cette simple lecture t'aurait permis de comprendre que
<a href="http://free-website-translation.com/?fr" id="ftwtranslation_button" hreflang="fr" title="" style="border:0;" onclick="return toto();" /></a>
n'ayant pas de contenu. Il est impossible de cliquer sur le lien.
il faut donc écrire
<a href="http://free-website-translation.com/?fr" id="ftwtranslation_button" hreflang="fr" title="" style="border:0;" onclick="return toto();" />cliquer ici</a>
Maintenant qu'on a un HTML conforme, c'est c.., mais un petit tour dans la doc JS explique comment fonctionnent les événements.
Le onclick de <a href="url/du/lien" onclick="return toto();">contenu du lien</a> est un handler d'événement qui est activé lorsque l'utilisateur clique dessus. Si cet handler retourne true alors le lien est activé sinon il le lien n'est pas ouvert.
Du coup toujours en revendiquant mon statut de vieux con je pense que tu as simplement compris que ce n'est pas du tout l'objectif. Car si je lis bien ton premier post tu veux en fonction de la valeur de "traduction" afficher un lien avec l'image Help_configuration.bmp ou Aide_configuration.bmp.
Ce qui n'a rien à voir avec une réaction à un événement.
L’objectif est donc de créer un lien avec une image si traduction vaut oui et une autre s'il vaut non.
Là encore il suffisait de suivre les conseils et de lire les tutos.
1) étape écrire le HTML statique comme brouillon pour bien voir l'objectif à atteindre.
<a href="http://free-website-translation.com/?fr" id="ftwtranslation_button" hreflang="fr" title="" style="border:0;" /><img src="Help_configuration.bmp" />aide à la configuration</a>
<a href="http://free-website-translation.com/?fr" id="ftwtranslation_button" hreflang="fr" title="" style="border:0;" /><img src="Aide_configuration.bmp" />aide à la configuration</a>
Là les tutos t'auraient grandement guidé puisque tu constates qu'il ne s'agit que de changer la valeur d'un attribut d'une balise.
Il existe des dizaines de façons de faire cela et les tutos pour débutant à juste raison proposent de mettre un id sur la balise concernée et d'ajouter un JavaScript qui changera l'attribut.
<a href="http://free-website-translation.com/?fr" id="ftwtranslation_button" hreflang="fr" title="" style="border:0;" /><img id="imgAide" />aide à la configuration</a>
Là encore une lecture de doc pour débutant explique comment récupérer un élément à partir de son id. et la doc du DOM explique comment changer un attribut.
1 2 3 4 5
| if (traduction=="oui") {
document.getElementById('imgAide').steAttribute("src", "Help_configuration.bmp");
} else {
document.getElementById('imgAide').steAttribute("src", "Aide_configuration.bmp");
} |
Vu qu'il s'agit de traduction, il semble bon de changer aussi le texte.
1 2 3 4 5 6 7 8 9 10
| <a href="http://free-website-translation.com/?fr" id="ftwtranslation_button" hreflang="fr" title="" style="border:0;" /><img id="imgAide" />aide à la configuration</a>
<script>
if (traduction=="oui") {
document.getElementById('imgAide').steAttribute("src", "Help_configuration.bmp");
document.getElementById('imgAide').innerText = "configuration assistance";
} else {
document.getElementById('imgAide').steAttribute("src", "Aide_configuration.bmp");
document.getElementById('imgAide').innerText = "aide à la configuration";
}
</script> |
Tu peux donc continuer à me traiter de c.. je le revendique. Le code produit par MS Word n'est pas réputé pour être des plus orthodoxe, mais les ingénieurs de Microsoft n'ont très certainement pas produit la chose que tu nous as présentée.
L’emm...bêteur que je suis pense sincèrement que même avec ce petit résumé des cours présents sur le site développez tu as tout intérêt à t'y plonger. Ce que tu as écrit n'est pas une erreur ou une étourderie. Ça montre que tu n'as pas la connaissance nécessaire. Et ce n'est pas une critique. Moi aussi, tout comme tous ceux qui t'aideront ici ont un jour été comme toi sans connaissance sur le sujet. C’est un conseil des plus amical et sincère. Je pense dans ton propre intérêt que cela te sera grandement bénéfique, que tu apprendras bien plus qu'en prenant des solutions toutes faites dans les réponses du forum.
Envoyé par
ffbb
Merci benjamin_musique pour ton aide,
mais ça ne fonctionne pas :
le "href" appelle "toto()" en tant que page à charger mais n'exécute pas la fonction "toto" pour y mettre le nom réel de la page !!!
autres solutions ?
Ceci montre bien que je ne m'était pas trompé. la réponse de benjamin_musique qui simplement corrige de façon constructive un code qui j'en reste persuadé est trop abracadabrant pour être amélioré ne t'apporte pas satisfaction. ce qui est logique parce que là n'est pas le problème.
Alors je le répète encore une fois. pour être constructif suit les conseils que je t'ai donné lors de ma première réponse. c'est normal de débuter, c'est normal de ne pas savoir, et ce n'est pas honteux que de lire les cours de base. C'est bien d'avoir essayé quelque chose. est même si avec tes connaissances actuelles ça te paraissait être la bonne voie. ça n'a rien de personnel et de critique que de te dire que non tu est très loin du compte. et que essayer sans aucune connaissance supplémentaire est une dépense d'énergie en vain. Je te garanti qu'il n'y a rien dans mes propos d'agressif de critique. c'est juste un constat sur l'état de tes connaissance sur le sujet. et il est à mon avis pas de meilleurs conseil qu'on puisse te donner que d'apprendre quelques bases supplémentaire. tu en tireras enormément plus que n'importe quelle réponse comme benjamin_musique a eu la gentillesse de te donner.
Quant à ce qui est au-dessus, ce n'est qu'un exemple de solution de ce que j'ai compris de ton besoin. Je ne suis pas sûr, loin de là, que tel été ton objectif.
A+JYT
Partager