Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1223 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Changement de "href"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Changement de "href"

n°1249621
Chandy
Patapäy
Posté le 21-11-2005 à 10:44:30  profilanswer
 

Salut à tous les programeurs Javascript !
J'ai des pages HTML avec des @ mail à l'intérieur ( mailto ... ).
Je dois modifier le lien en Javascript pour rediriger vers une adresse mail différente. Le pb vient que quand je change :
<a href="mailto:dupont@aaa.bbb">Dupont</a> avec
document.links[0].href="mailto:dupont_new@aaa.bbb";
cela me renvoie également "mailto:dupont_new@aaa.bbb" au lieu de "Dupont" dans la texte de la balise <a>.
Comment ca se fait ? Comment résoudre le pb ? :(  
 
Merci !!
@+

mood
Publicité
Posté le 21-11-2005 à 10:44:30  profilanswer
 

n°1249644
gatsusat
Posté le 21-11-2005 à 11:05:13  profilanswer
 

document.links[0].href <== ca renvoi le href
toi ce que tu veux c'est modifier aussi le innerHTML de la balise
donc document.links[0].innerHTML


---------------
Les CSS c'est bon mangez-en
n°1249654
Chandy
Patapäy
Posté le 21-11-2005 à 11:10:59  profilanswer
 

gatsusat a écrit :

document.links[0].href <== ca renvoi le href
toi ce que tu veux c'est modifier aussi le innerHTML de la balise
donc document.links[0].innerHTML


 
Au contraire, ce que je veux c'est seulement modifier le href, or il modifie également le InnerHTML tout seul. Et ca je veux pas.
Mais bon ca marche maintenant, je connaissais pas InnerHTML, mais maintenant je récupère le innerHTML au début de procédure et je le réaffecte à la fin, après avoir mis à jour le href.
Merci !!  :hello:  
 
PS : c'est qd meme bizarre ce genre de choses !  :pt1cable:

n°1249660
gatsusat
Posté le 21-11-2005 à 11:14:36  profilanswer
 

oui très sachant justement que ce sont des propriétés d'élément totalements indépendantes et j'ai déjà maintes fois travaillé sur un Href, et ca n'a jamais modifié le innerHTML, donc faudrait voir ton code au complet ya des choses à corriger je crois, mais aussi ta methode pour recuperer les liens d'un document.
 
maintenant on fait :  
var mesliens = document.getElementsByTagName("A" );
et ensuite tu a un tableau de liens qu'il ne te reste plus qu'à parcourir


---------------
Les CSS c'est bon mangez-en
n°1249663
Chandy
Patapäy
Posté le 21-11-2005 à 11:21:48  profilanswer
 

gatsusat a écrit :

oui très sachant justement que ce sont des propriétés d'élément totalements indépendantes et j'ai déjà maintes fois travaillé sur un Href, et ca n'a jamais modifié le innerHTML, donc faudrait voir ton code au complet ya des choses à corriger je crois, mais aussi ta methode pour recuperer les liens d'un document.
 
maintenant on fait :  
var mesliens = document.getElementsByTagName("A" );
et ensuite tu a un tableau de liens qu'il ne te reste plus qu'à parcourir


 
Ouai sans doute y a des trucs à modifier, c'est pas moi qui l'ai fait :D
 
Voilà le code  [:a_bon]  
 

Code :
  1. <script language="JavaScript">
  2. for(intCount=0;intCount<document.links.length;intCount++)
  3. {
  4. objLink = document.links[intCount];
  5. strLien = objLink.href;
  6. strInner = objLink.innerHTML;
  7. if (objLink.href.search("javascript" )==-1) {
  8.  strLien = escape(strLien);
  9. //  Les caractères % : # ? = ont été échappés, mais il faut les rétablir
  10.  strLien = strLien.replace(/%25/g, "%" );
  11.  strLien = strLien.replace(/%3a/g, ":" );
  12.  strLien = strLien.replace(/%3A/g, ":" );
  13.  strLien = strLien.replace(/%3F/g, "?" );
  14.  strLien = strLien.replace(/%3D/g, "=" );
  15.  strLien = strLien.replace(/%23/g, "#" );
  16.  strLien = strLien.replace("%EF%A3%AD", "%E8" ); // -> è
  17.  strLien = strLien.replace("%EF%A3%AE", "%E9" ); // -> é
  18.  strLien = strLien.replace("%EF%A3%AF", "%EA" ); // -> ê
  19.  objLink.href = strLien;
  20.  objLink.innerHTML = strInner;
  21. }
  22. }
  23. </script>

n°1249691
Bidem
Posté le 21-11-2005 à 11:49:23  profilanswer
 

Chandy a écrit :


Code :
  1. ...
  2.  objLink.href = strLien;
  3.  objLink.innerHTML = strInner;
  4. ...



 
Si tu ne veux pas modifier le innerHTML, pourquoi est-ce que tu le fais ? ;)
 
Et +1 sur la rermaque de Gatsusat sur l'utilisation de document.getElementsByTagName("A" )

n°1249699
Chandy
Patapäy
Posté le 21-11-2005 à 11:56:42  profilanswer
 

Bidem a écrit :

Si tu ne veux pas modifier le innerHTML, pourquoi est-ce que tu le fais ? ;)
 
Et +1 sur la rermaque de Gatsusat sur l'utilisation de document.getElementsByTagName("A" )


 
Le code que j'ai proposé est la version corrigée, le code original est le même sans les lignes :

Code :
  1. strInner = objLink.innerHTML ;
  2. objLink.innerHTML = strInner;


 
Et je vais tester le "getElementsByTagName"  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Changement de "href"

 

Sujets relatifs
redirection location.hrefhref file
Transparence pour superposition et changement de couleurChangement de page php
Changement de variable dans un forchangement de couleur pour barre défilante
Migration Access => Mysql : changement code asp ??changement de nom de domaine et mon script marche plus..
Balise HREF : download d'un fichier HTMLchangement de bouton
Plus de sujets relatifs à : Changement de "href"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR