Information sur la ligne cliquée

Résolu
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007 - 11 août 2007 à 18:05
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007 - 13 août 2007 à 15:58
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

sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
13 août 2007 à 15:58
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.
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 août 2007 à 12:16
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.
0
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
12 août 2007 à 12:51
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.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 août 2007 à 14:31
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
12 août 2007 à 15:47
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.
0
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
12 août 2007 à 15:50
Correction du lien vers dhteumeuleu
Le lien
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 août 2007 à 17:51
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.
0
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
12 août 2007 à 20:48
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.
0
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
13 août 2007 à 09:30
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.
0
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
13 août 2007 à 09:36
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)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 août 2007 à 10:40
>>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.
0
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
13 août 2007 à 10:44
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.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 août 2007 à 11:03
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.
0
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
13 août 2007 à 13:50
Je vais essayer tout cela.
0
Rejoignez-nous