le fab Posted March 15, 2007 Posted March 15, 2007 (edited) Bonjours, je me prend la tête pour faire un truc tout con : rajouter des evenement onclick sur des liens ayant comme nom de classe 'aEvent'. le but du jeu est d'appeler une fonction qui prend comme parametre le parametre dela requete php incluse dans href exemple : <a href="meteo.php?falaise=5">bla bla</a> (il y a bien sur plusieurs liens comme ca dans la page) et mon code : //test des methodes if (!document.getElementsByTagName) {return;} //recuperation element var oA = document.getElementsByTagName("a"); //si pas de lien <a> if (!oA ) {return;} //nombre le liens trouvés var i = oA.length - 1; for(i; i >= 0; i--) { // si le lien est de class 'aEvent' if (oA[i].className == "aEvent") { //recup numero slide meteo var sNum= oA[i].href; sNum = sNum.substring(sNum.indexOf("=",0)+1,sNum.length + 1); oA[i].onclick = function() { montremeteo( sNum); return false; } } } lorsque je suis pas à pas ma fonction sois firebug, tout a l'air de bien se passer comme je le souhaite (sNum passe par toutes les valeur definies dans le XHTML). seulement à la fin, tous mes liens appelent montremeteo('1') ou 1 est la dernière valeur prise par sNum en esperant avoir clairement exposer mon probleme et merci d'avance des reponses fabien Edited March 15, 2007 by le fab
yborean Posted April 5, 2007 Posted April 5, 2007 Hello, ça pourra peut-être t'aider, perso j'utilise ça pour faire s'ouvrir en popup des liens de class="popup", en recuperant le href qu'ils contiennet, si ça peut t'aider ... function addPopupLinks() { if (!document.getElementsByTagName) { return null; } var anchors = document.getElementsByTagName("a"); /* * recherche la balise <a> ayant l'attribut class="popup" */ for(var i=0; i < anchors.length; i++) { var a = anchors[i]; if(anchors[i].className == "popup") { var ref = anchors[i].href; // mémorise la valeur du lien var u = anchors[i].getAttributeNode("onclick"); // récupère l'url qui est passée comme valeur /* * test à effectuer pour la compatibilité IE / FireFox */ if(u != null) { if(u.value == 'null') { u = null; } else { u = u.value; } } /* * Le test est obligatoire pour firefox car le setAttribute ne semble pas fonctionner comme sous IE */ if(! a.setAttribute("ref", ref)) { a.ref = ref; } /* * Définit l'action onclick sur le lien */ a.onclick = function(evt) { window.open(this.ref, "popupFormulaire", "scrollbars=yes, resizable=yes, toolbar=no, menubar=no, location=no, directories=no, status=yes"); } if(u != null) { a.href = u; // le lien pointera à l'adresse passée dans le onclick } else { a.href = "#"; // le lien pointera désormais sur lui même a.removeAttribute("target"); // suppression de l'attribut target (utilisé par le maileur) } } }}
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now