Information sur la ligne cliquée [Résolu]

Signaler
Messages postés
17
Date d'inscription
samedi 11 août 2007
Statut
Membre
Dernière intervention
25 août 2007
-
Messages postés
17
Date d'inscription
samedi 11 août 2007
Statut
Membre
Dernière intervention
25 août 2007
-
Bonjour,

J'utilise ce code et je ne sais pas récupérer l'information title par exemple qui me permettra d'afficher une fenêtre avec un contenu spécifique :

var P = new Array();
// Ce que je ne sais pas faire
function linkOnClick()
{
    var h = this.P;                              
    var action = true;
    alert(h.title);
    return action;
}
// Ceci fonctionne
onload = function() {
  P = document.getElementsByTagName("a");
  if (P) {
    for (var i = 0; i < P.length; ++i) {
      P[i].title = document.getElementsByTagName("a")[i].getAttribute("name");
      P[i].onclick = linkOnClick();
    }
  }
}

Je vous remercie.

Salutations.

 

14 réponses

Messages postés
17
Date d'inscription
samedi 11 août 2007
Statut
Membre
Dernière intervention
25 août 2007

J'ai trouvé ce qui me faisait sortir de mes gonds et de la page :

Cette instruction transformée en eval résoud mon problème.

//  window.open(this.obj.link, "_blank");
eval(this.obj.link);

Je me suis réorienté vers ce problème car aucune solution n'était satisfaisante.

Pour afficher des fenêtres je me sers de la bib. overlib mais n'y a t'il pas une autre solution plus légère ?

Je me suis égaré dans des canyons plutôt que de me concentrer sur ce problème de sortie de page.

Mais dans ceux-ci on n'y risque pas notre vie, sauf de s'arracher les cheveux.

Merci pour votre aide.

A bientôt pour de nouvelles aventures.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

    this ?
    ch'tit exemple :

<html>

toto
titi
tata
<script type="text/javascript">
function linkOnClick(balise)
{  alert(balise.title);
    return true;
}
onload = function() {
  if (document.getElementsByTagName("A")) {
    for (var i = 0; i < document.getElementsByTagName("A").length; ++i) {
      document.getElementsByTagName("A")[i].title = document.getElementsByTagName("a")[i].getAttribute("name");
      document.getElementsByTagName("A")[i].onclick = function()    {    linkOnClick(this);    }
    }
  }
}
</script>

</html>

<hr />


Cordialement                Bul         [mon Site]     [M'écrire]



<hr />






Généralement, c'est absurde de généraliser.
Messages postés
17
Date d'inscription
samedi 11 août 2007
Statut
Membre
Dernière intervention
25 août 2007

Merci d'avoir répondu si rapidement, excellent code, mais qui ne fonctionne pas dans l'application qui me plaît :

H-menu.html

Toutes les manips de souris sont interceptés dans le script, c'est pour celà que je demandais si lors d'un clique on pouvait connaître le rang de l'élément sur lequel on clique ?

De plus ce script n'accepte pas les href="" ,même javasript, qui affiche une nouvelle page.

Le but de la manip est que lors d'un clique en présence d'un titre c'est de charger par une routine ajax le fichier.txt est de l'afficher par overlib ou autre interface sur la même page.

Tel est mon problème actuel.

Merci pour votre aide.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
je n'ai pas compris...

>> si lors d'un clique on pouvait connaître le rang de l'élément sur lequel on clique ?
    quel intérêt ? on a accés à tous les éléments du [ respectant le script inital, c'est
       de mettre la name dans le title ( je ne voyais pas
       trop l'intérêt, mais bon c'était codé, alors... )
   




<hr />



Cordialement                Bul         []mon Site]     [M'écrire]



<hr />





Généralement, c'est absurde de généraliser.
Messages postés
17
Date d'inscription
samedi 11 août 2007
Statut
Membre
Dernière intervention
25 août 2007

A l'état brut cette application ne fonctionne pas arriver au bout de l'arborescence, il ne se passe rien.

J'ai ajouté en gras aux balises existantes :

dhteumeuleu
mais celle-ci je tombe sur un os.

Merci encore.
Messages postés
17
Date d'inscription
samedi 11 août 2007
Statut
Membre
Dernière intervention
25 août 2007

Correction du lien vers dhteumeuleu
Le lien
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
je comprend un peu mieux...
[javascript:void(linkOnClick(this)); HERESIE]
ou faire un return false dans linkOnClick
<hr />
Cordialement                Bul         [mon Site]     [M'écrire]
<hr />
Généralement, c'est absurde de généraliser.
Messages postés
17
Date d'inscription
samedi 11 août 2007
Statut
Membre
Dernière intervention
25 août 2007

Le fait d'en parler m'a permis d'entrer un peu plus dans ce programme et j'ai trouvé l'instruction qui me fait sortir de mes gonds et de la page.

parent = new m.CreateNode(parent, s, m.cP, theNode.href);

Si j'enlève ce qui est en gras le href "heresie" n'est pas pris en compte et si je le laisse le href me fait sortir de la page.

C'est la ou se trouve le problème.

Merci à vous pour votre aide.

Je vais mettre l'appli en ligne.

Salutations.
Messages postés
17
Date d'inscription
samedi 11 août 2007
Statut
Membre
Dernière intervention
25 août 2007

Bonjour,

Une petite information :

Dans cette boucle je retrouve l'attribut title que je veux transmettre à linkOnClick()

Comment mettre cette variable attribut (en gras et gros) en constante ?

De façon  à ce que je puisse  traiter cette information au moment  du clique  sur  la  zone  concernée.

      var attribut="";
      if (document.getElementsByTagName("a")[i]) {
      attribut = document.getElementsByTagName("a")[i].getAttribute("title");
     }
      m.O[i].plot.onclick = function() { linkOnClick(attribut
); return false;};

Comme c'est écrit au clique sur la zone il me transmettra le dernier attribut trouvé ou null.

Je vous remercie.

Le site ou le problème se situe

Salutations.
Messages postés
17
Date d'inscription
samedi 11 août 2007
Statut
Membre
Dernière intervention
25 août 2007

Suivre l'arborescence :
Lauran Cabaret
l'étude
hérésie  ([javascript:linkOnClick('heresie') heresie] qui me fait sortir de mes gonds et de la page)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>>Dans cette boucle je retrouve l'attribut title que je veux transmettre à linkOnClick()
    je pensais avoir répondu... ?
    m.O[i].plot.onclick = function() { linkOnClick(this
); return false;};
    et function linkOnClick(z)   {   ici utiliser z.title ... }



<hr />



Cordialement            Bul         [mon Site]     [M'écrire]



<hr />





En généralement, c'est totalement absurde de généraliser.
Messages postés
17
Date d'inscription
samedi 11 août 2007
Statut
Membre
Dernière intervention
25 août 2007

var attribut= "heresie";

m.O[i].plot.onclick = function() { linkOnClick( attribut
); return false;};

m.O[i].plot.onclick = function() { linkOnClick("'" + attribut + "'"); return false;};

Par alert("'" + attribut + "'");

J'ai cela 'heresie' qui s'affiche la variable est devenue constante.

Logiquement je devrais avoir dans m.O[i].plot.onclick :

linkOnClick(' heresie');

Lorsque j'affiche par

alert(m.O[i].plot.onclick);

J'ai cela ?

linkOnClick("'" + attribut + "'")

Je m'enlise.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
function linkOnClick(z)   {   alert(z.title); }








élément
.onclick = function() { linkOnClick(this
); return false;};

je met élément, car
m.O[i].plot, je ne sais pas ce que c'est ???

au départ, on avait :

document.getElementsByTagName("A")[i].onclick...
je ne comprend plus où tu en es....




<hr />



Cordialement                Bul         [mon Site]     [M'écrire]



<hr />





Généralement, c'est absurde de généraliser.
Messages postés
17
Date d'inscription
samedi 11 août 2007
Statut
Membre
Dernière intervention
25 août 2007

Je vais essayer tout cela.