) qui contien plusieurs centaine de cases. Sur chaque case je voudrais pouvoir lancer une fonction grâce à l'événement onclick mais si je commence à mettre cet événement sur chaque balise TD je risque de surcharger ma page.
C'est pourquoi je me suis demandé s'il n'y avait pas un moyen de gérer cela avec 1 seul onclick sur la balise <TABLE> ? Ce système pourrait par exemple reconnaître la case qui est cliqué à l'aide de l'Id de la balise TD (la case).
Est-ce que c'est possible ? ou vaut mieux utiliser le javascript et créer les événement à l'ouverture de la page ?
D'avance merci
---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Publicité
Posté le 22-01-2008 à 15:35:28
snike
Posté le 22-01-2008 à 16:40:46
C'est tiré par les cheveux ma demande
---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
dwogsi
Défaillance cérébrale...
Posté le 22-01-2008 à 16:52:07
C'est un peut stupide aussi, sans vouloir te vexer...
Impossible de faire de que tu veux avec un code comme onclick='alert(this);' ça n'a aucun sens.
C'est un peut stupide aussi, sans vouloir te vexer...
Impossible de faire de que tu veux avec un code comme onclick='alert(this);' ça n'a aucun sens.
Et autrement ?
---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
dwogsi
Défaillance cérébrale...
Posté le 22-01-2008 à 17:06:59
Des onclick sur chaque cellule, ou si tu ne veux pas surcharger ton code html tu peux aussi "parcourir ton code avec js et y coller des onclick dynamiquement".
---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
afbilou
pouet your life
Posté le 22-01-2008 à 20:26:23
Code :
<head>
[...]
<script type="text/javascript">
window.onload = function () {
installEventsOnMyFuckingTable();
}
function installEventsOnMyFuckingTable () {
var table = document.getElementsByTagName('table')[0]; // ou getElementById()
var tbody = table.getElementsByTagName('tbody')[0];
var _td = tbody.getElementsByTagName('td');
for (var i=0 ; i<_td.length ; i++) {
_td[i].onclick = function () {
alert(this.textContent);
}
}
}
</script>
</head>
<body>
[...]
<table>
<caption>Super Table</caption>
<thead>
<tr>
<th>Col 1</th>
<th>Col 2</th>
<th>Col 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
<tr>
<td>10</td>
<td>11</td>
<td>12</td>
</tr>
</tbody>
</table>
[...]
FlorentG
Unité de Masse
Posté le 24-01-2008 à 13:44:33
Avec un framework JS (genre jQuery, YUI et tout), c'est assez simple à faire, via des fonctions genre addEvent qui gère facilement les évènements