Difficulté d'afficher qq chose avec lien ds une table

Résolu
jeanjeandada Messages postés 152 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 20 novembre 2011 - 7 déc. 2008 à 17:18
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 10 déc. 2008 à 17:36
Bonjour Cher FOrum ,

(j'utilise les api de google)

Voilà dans la balise body je déclare une table :

<table border=1>

----,

</td>



</td></tr></tbody></table>

Puis dans la partie JAVASCRIPT je souhaiterai ajouter des mots
(.....^^) dans la table avec un lien particulier pour chacun de ses
mots.

Code qui montre la fct pour ajouter une ligne dont le mot (name) permet en cliquant dessus de créer un événement

function tablee(marker,html) {

// save the info we need to use later for the side_bar

gmarkers[i] = marker;

htmls[i] = html;

// add a line to the side_bar html

alert(side_bar_html);

side_bar_html += + name +
;

i++;

}

function myclick() {

alert('i=' + i);

gmarkers[i].openInfoWindowHtml(htmls[i]);

}

toutes ces fonctions se trouve ds la fct load();

Avt de faire appel à ses fct voici se que je déclare :

var side_bar_html = "";

var gmarkers = [];

var htmls = [];

var i = 0;

//--------------------------

//--Déclération des makers--

//--------------------------

var marker = new GMarker(new GLatLng(46.71471057,-0.36750402));

map.addOverlay(marker);

tablee(marker,"LE MOT")

Enfin Bref le problème est qu'en faite rien ne s'affiche ds ma table ............

J'ai essayé plein plien plein de trucs ..

Merci A+

26 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
9 déc. 2008 à 12:34
ah ?!? j'ai dis ça moi ?
si tu veux mettre du javascrip dans le lien, certes, tu ne dois pas être loin,
( généralement, il "vaut mieux" mettre void : ...href= "javascript:void(fonction_js());"... )
mais si tu veux ajouter du javascript à un évènement sur le td
( ce qui n'est pas du tout la même chose ) :

newCell.on l'évênement voulu =function()    { des ordres javascript;    }
l'évênement voulu : click, mouseover, mouseout... ou autres

       [mon Site][M'écrire]Bul
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
9 déc. 2008 à 13:55
j'ai vu ce que tu voulais dire ;o)
test.onclick = function(){myclick(test.id); return false}
si ton id est généré par le php... c'est son problème [ ;o) ]
coté js... : test.onclick = function() { myclick(this.id); return false; }
il restera peut-être (?) d'autres choses à résoudre
mais on y viendra quand ce sera nécessaire... si ça l'est
          [mon Site] [M'écrire] Bul         
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
7 déc. 2008 à 17:36
bonjour,
>>Bref le problème est qu'en faite rien ne s'affiche ds ma table
euh... le problème c'est qu'il y a des erreurs de syntaxe surtout...

exemple :
side_bar_html += mon Site] [M'écrire]  Bul         
0
jeanjeandada Messages postés 152 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 20 novembre 2011
8 déc. 2008 à 08:40
D'accord merci pour les liens pour debugger,

mais est ce que tu connaîtrai un code pour ajouter une ligne dans ma table en mettant en plus en lien sur cette ligne.

J'ai trouvé un bout de code sur internet mais je n'arrive pas de tout à mettre un lien :
    var tableau= document.getElementById(" ma_table ");
    var ligne =document.createElement("tr");
    var col=document.createElement("td");
    col.setAttribute("colspan", "4");
    var test=document.createTextNode("nouvelle ligne");
    tableau.appendChild(ligne);
    ligne.appendChild(col);
    col.appendChild(test);
Est ce que tu pourrais m'aider stp
merci
0

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

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
8 déc. 2008 à 09:28
bonjour,

    var tableau=document.getElementById("ma_table");
    var ligne=document.createElement("tr");
    var col=document.createElement("td");
    col.setAttribute("colspan", "4");
    var test=document.createTextNode("nouvelle ligne");
    tableau.appendChild(ligne);
    ligne.appendChild(col);
    col.appendChild(test);

soit dans la lignée de ce que tu fais
    var lien=document.createElement("a");
     lien.href="http://www.javascriptfr.com";
     lien.innerHTML="CS";
     col.appendChild(lien);

soit avec les ordres adaptés aux tableaux
    var t=document.getElementById("ma_table");
    var l=t.insertRow(-1);
    var c=l.insertCell(-1);
     c.innerHTML="mon Site] [M'écrire]  Bul         
0
jeanjeandada Messages postés 152 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 20 novembre 2011
8 déc. 2008 à 09:48
Bonjour Bul3,

Merci pour ton code,
j'ai créer une fct avec ce code :
    var t=document.getElementById("side_bar");
    var l=t.insertRow(-1);
    var c=l.insertCell(-1);
     c.innerHTML="CS";

Le problème est que à partir de la ligne    var l=t.insertRow(-1);  le programme ne s'exécute plus....
Voici la déclaration de mon tableau :
      ----

            

     
       ,
                  

       ,
     
   

Merci bcp
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
8 déc. 2008 à 10:13
de ce que tu nous montre, ça me semble normal....
"side_bar" ? connait pas !

par contre si tu mets ( est-ce ce que tu veux ? )
      tout baigne

>>le programme ne s'exécute plus....
c'est pas qu'il ne s'exécute plus, c'est qu'il signale une erreur

debogage :
<table id=\"aff\" border=\"1\" cellpadding=\"2\" cellspacing=\"2\">----
Chrome
, contrôler page actuelle / Options pour développeurs
/ Console Javascript, ----
FireFox
, Outils / Console d'erreurs
et mieux : télécharger mon Site][M'écrire]Bul
0
jeanjeandada Messages postés 152 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 20 novembre 2011
9 déc. 2008 à 11:25
Bonjour :)
Exact : <table border="1" id="side_bar">
Comme cela Tout baigne.
Je voudrai améliorer le code suivant  :
    var newRow = document.getElementById('side_bar').insertRow(-1);
    var newCell = newRow.insertCell(i);
    newCell.innerHTML = 'name';
En faite je voudrai que lorsque je clique sur la ligne (de la table) cela me active une fct dans mon script
J'ai pensé à cela :
    var newRow = document.getElementById('side_bar').insertRow(-1);

    var newCell = newRow.insertCell(i);

    newCell.innerHTML = 'javascript:myclick(i)';
function myclick(i) {
blablabla
      }
Mais cela ne marche pas car pour faire un lien il un élément HTML alors que là c'est un noeud texte.
..
Est ce que tu connaîtrai ce code ?
Merci
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
9 déc. 2008 à 11:32
innerhtml, c'est ce qu'on affiche....
pour ajouter une fonction : élément ou objet ou baise.onclick=function() { les ordres javascript; }

          [mon Site] [M'écrire] Bul         
0
jeanjeandada Messages postés 152 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 20 novembre 2011
9 déc. 2008 à 12:05
Merci pour les précisions,

Hmmmmmm si j'ai bien comprit ca donnerai cela ???? :

    var newRow = document.getElementById('side_bar').insertRow(-1);
    var newCell = newRow.insertCell(i);
    newCell.innerHTML = comment ; //comment est un variable string
var test =document.createElement('a');
test.href= 'javascript:myclick(' + i +')';

Merci
0
jeanjeandada Messages postés 152 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 20 novembre 2011
9 déc. 2008 à 12:41
function AddRow(marker,comment){
    var newRow = document.getElementById('side_bar').insertRow(-1);
    var newCell = newRow.insertCell(1);
    newCell.innerHTML = 'aaaaaa';
   

baise

.onclick=function() { myclick2(i); return false }
}

function myclick2(i) {
        blablabla
      }
Comme cela ? ca ne fonctionne pas = jpense qu j'ai du me trompé sur :


baise

.onclick

merci
0
jeanjeandada Messages postés 152 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 20 novembre 2011
9 déc. 2008 à 12:45
Oups, excuse moi j'ai posté le message au dessus juste aprés toi ......

Je vais essayer cela alors :
function AddRow(marker,comment){
    var newRow = document.getElementById('side_bar').insertRow(-1);
    var newCell = newRow.insertCell(1);
    newCell.innerHTML = 'aaaaaa';
    newCell.on click
=function() { myclick2(i); return false }
}

merci
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
9 déc. 2008 à 12:52
euh... baise mais encore ? certes je veux bien, mais avec qui ? ;o))
c'est l'élément qu'il faut mettre, comme je t'ai montré

newCell.onclick=function()    { alert(this.innerHTML);    } // par exemple

( mais ton i..... j'ai comme un gros doute ! ça va probablement te dire undefined !! )

          [mon Site] [M'écrire] Bul         
0
jeanjeandada Messages postés 152 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 20 novembre 2011
9 déc. 2008 à 13:37
Re,
var test = document.createElement('a');
test.href = '#';
test.id = 'lien' + i;
test.onclick = function(){myclick(test.id); return false}

function myclick(mon_id){
var mon_parame=mon_id.replace(/\D/g,''); //récupére la valeur de i
blabla
}

Jsuis bloqué je voudrais affecter un id spécifique à chaque passage dans la boucle ('lien'+i) puis affecter sur le onClick une référence à cet id plutot qu'à l'indice ....
Est ce que tu vois ce que je voudrais dire ??
Merci !
0
jeanjeandada Messages postés 152 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 20 novembre 2011
9 déc. 2008 à 15:13
Slt,
Ca y est sa marche comme sur des roulettes. Ty
J'aimerai revenir aux détails du début :
div id=\"side_bar\">
      ----

            

     
       ,
                  

       ,
     
   

En faite les nouvelles lignes créées j'aimerai qu'elles s'affichent sur où c'est marqué en rouge ....
Tu vois ce que je veux dire ??? (c'est possible ?? (j'espere))
Merci
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
9 déc. 2008 à 15:33
euh ?
>>Tu vois ce que je veux dire ???
pas tout à fait...

mais peut-être veux tu dire ajouter/insérer... une ligne, une colonne particulière ?
oui :quelques infos ici
non : un ch'tiot peu plus de précisions ?

          [mon Site] [M'écrire] Bul 
0
jijudu Messages postés 211 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 3 septembre 2009
9 déc. 2008 à 17:56
Resalut,

Hmmmm trés intérressant ton oeuvre sur le lien
En faite (plus clairement ^^). Dans mon tableau, j'ai deux colonnes :
Ma première colonne est réservé à l' id="map"
Dans ma Second colonne (id="Second_colo") je voudrais INSERER (ou ajouter) mes lignes créées.

div id=\"side_bar\">
      ----

            

     
       ,
                  

       ,
     
   

Est-il possible d'ajouter dans cette SECOND colonne mes lignes. ?
J'ai vu que pour "Nettoyer" une colonne (de chacun de ses lignes), ils fallait en faite "détruire" ce qu'il y a à l'intérieur :

(D'aprés ton code) est-ce juste :
function Supp() //~~ suppression ~~
{
for (var l=0;l<tableau.rows.length;l++)
{
tableau.rows[l].deleteCell(Number(document.getElementById("Second_colo").value));
}
break;
}
}

Merci bcp
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
10 déc. 2008 à 09:01
>>je voudrais INSERER (ou ajouter) mes lignes créées.
dans une colonne ?

si oui, il faut y recréer un et les ----
voulues pour tes lignes

<table bgcolor="#ffeebb" border="0">----,           [mon Site] [M'écrire] Bul           
</td>
0
jijudu Messages postés 211 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 3 septembre 2009
10 déc. 2008 à 10:22
Ohhlala,
J'ai regardé sur internet pour pouvoir ajouter les lignes dans une colonne ... (sa m'a l'air pas trés simple)
Comment je fais pour créer le  <tr> et <td> pour mes lignes ?
Merci infiniment
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
10 déc. 2008 à 10:52
je crains que tu ne confondes...

tu veux insérer une colonne pour chaque ligne : regarde mon exemple ( insertCell pour chaque ligne )

tu veux insérer des lignes dans une cellule :
crée y un et pour ajouter des lignes à ce <table>, tu viens de la faire

<table bgcolor=\"#ffeebb\" border=\"0\">----
          [mon Site] [M'écrire] Bul         
0
Rejoignez-nous