Forums Développement Multimédia

Aller au contenu

[double post] ahref et fonction js situé dans un objet

CODE Ajax JQuery EaseJs

  • Ce sujet est fermé Ce sujet est fermé
Aucune réponse à ce sujet

#1 tlecoz

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3486 messages

Posté 01 August 2013 - 00:05 AM

Bonjour,

je débute en html/js ; j'aimerais faire quelque chose qui me parait assez simple mais je n'obtiens pas le résultat que je veux (à cause d'un problème de ciblage qui m'échappe un peu...)


J'ai une "classe" javascript qui se présente comme ça

var MaClasse = function(){
          this.truc = "machin";
}
MaClasse.prototype.callFromLink= function(data){
          alert(data);
}
MaClasse.prototype.callFromButton= function(data){
          alert(data);
}
MaClasse.prototype.createElement = function(phpData){
   //...
}
 

Dans la fonction 'createElement', j'aimerais piloter un objet HTMLTableElement et y insérer dans une boucle plusieurs lignes contenant chacune deux champs :
- le premier champs contient un texte cliquable (un lien quoi)
- le deuxieme contient un bouton

J'aimerais que lorsqu'on clic sur un lien, la fonction 'callFromLink' soit appelé avec le texte du lien en paramètre.

Idem pour le bouton, j'aimerais que lorsqu'on clic dessus, la fonction 'callFromButton' soit appelé avec aussi le texte du lien en paramètre.

J'ai essayé d'utiliser quelques ruses sioux que j'utilisais en AS1 pour résoudre les problèmes de ciblages, mais ça ne suffit pas - dans le sens, ca ne fonctionne pas du tout -

Voila le code actuel contenu dans ma fonction createElement

   var th = this;
        var elements = phpData.split(",");
        var table = document.getElementById("liste");
        alert("onPhpGetRubriques "+table);
        var i,len = elements.length;
        var row,cell;

        if(table.rows.length > 0){
                while(table.rows.length>0) table.deleteRow(0);
        }
        for(i=0;i<len;i++){

                alert("> "+elements[i]);

                row = table.insertRow(i);
                cell = row.insertCell(0);
                cell.rubName = elements[i];
                cell.innerHTML = '<a href="#" onclick="callFromLink('+elements[i]+');">'+elements[i]+'</a>' ;

                cell = row.insertCell(1);
                var btn = document.createElement("input");
                btn.type = "button";
                btn.value = "supprimer la rubrique";
                btn.rubName = elements[i];

                btn.onclick = function(){
                        th.callFromButton(this.rubName);
                   // th.phpLoader.sendDatas("removeRubrique.php","removeRubrique",[this.rubName],th.onPhpRemoveRubrique)
                }

                cell.appendChild(btn);
        }
 

Evidemment, ça marche pas...


Une idée ? Image IPB

Merci d'avance !



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP