TRI MULTI-COLONNES D'UN TABLEAU HTML

cs_jjdagadir Messages postés 127 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 6 mars 2009 - 1 avril 2005 à 12:41
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010 - 10 déc. 2008 à 00:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30425-tri-multi-colonnes-d-un-tableau-html

fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
10 déc. 2008 à 00:01
réponse pour classer les cellules vide à la fin :
dans je fichier .js il faut modifier :

switch (Prm[0].toLowerCase())
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case "e": //~~~~ Entiers ~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if ( Zone=="" && sens.charAt(0).toLowerCase()=="a")
{
Zone="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
} else {
while ( Zone.length<Number(Prm[1]) ) // adapter la
{
Zone="0"+Zone;
} // longueur
}

break;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case "jjmmaaaa": //~~~~ format date ~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if ( Zone=="" && sens.charAt(0).toLowerCase()=="a")
{
Zone="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
} else {
Zone= Zone.substr(4,4) +
Zone.substr(2,2) +
Zone.substr(0,2); // mise en forme aaaammjj
}
break;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case "jj/mm/aaaa": //~~~~ format date ~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if ( Zone=="" && sens.charAt(0).toLowerCase()=="a")
{
Zone="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
} else {
Zone= Zone.substr(6,4) +
Zone.substr(3,2) +
Zone.substr(0,2); // mise en forme aaaammjj
}
break;
/*===========================================\
! je n'ai mis ici que quelques possibilités. !
! on peut ajouter : !
! !
! case "type de zone": !
! ... traitements adaptés ... !
! break; !
! !
\===========================================*/
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
default: //~~~~ par défaut ~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if( Zone=="" && sens.charAt(0).toLowerCase()=="a")
{
Zone="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
}

case "c": //~~~~ caractères ~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if( Zone=="" && sens.charAt(0).toLowerCase()=="a")
{
Zone="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
}
break;
}
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
9 déc. 2008 à 20:21
est-il possible de ne pas prendre en compte dans le tri des cellules où il n'y a pas d'informations et de les classer toujours à la fin ?
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
9 déc. 2008 à 17:17
bonjour, je me permet de poster une modification pour l'exemple html :
- ajout d'une première ligne de tableau en javascript pour trier
- possibilité de trier sur des "commentaires" donc des valeurs qui ne sont pas "affichées"

fichier exemple.html :
<HTML>
<HEAD>
<TITLE>Tri tableaux HTML</TITLE>
<script> var nom_var_tab = document.getElementById("id_tableau"); </script>

<!-- ....... recopier le reste du fichier d'origine jusqu'au point suivant ..... -->

<!-- première ligne du tableau (qui ne sera pas triée) -->
<tr>
<td align="center">


</td>
<td align="center">


</td>
<td align="center">


</td>
<tr><td>55</td> <td><!-- 10012.50 -->menu : 12.50 €</td> <td>23/01/2005</td></tr>
<tr><td>1</td> <td><!-- 10010.00 -->menu : 10 €</td> <td>03/03/2001</td></tr>
<tr><td>3</td> <td><!-- 10010.50 -->menu : 10.50 €</td><td>01/01/2005</td></tr>
<tr><td>4444</td><td><!-- 20012.50 -->carte : 12.50 €</td><td>23/11/2004</td></tr>
<tr><td>22</td> <td><!-- 20010.00 -->carte : 10 €</td> <td>08/09/1999</td></tr>
<tr><td>1</td> <td><!-- 20010.50 -->carte : 10.50 €</td><td>17/02/2000</td></tr>
<tr><td>1</td> <td><!-- 20009.50 -->carte : 9.50 €</td><td>03/03/2001</td></tr>
<tr><td>4444</td><td><!-- 10009.00 -->menu : 9 €</td><td>23/01/2000</td></tr>
<tr><td>4444</td><td><!-- 10009.50 -->menu : 9.50 €</td><td>23/01/2000</td></tr>
</table>

<!-- .... et recopier le reste ... -->

fin du fichier exemple.html

les commentaires dans la 2ème colonne permet de trier les prix par "menu" puis par "carte"
cs_lena99 Messages postés 3 Date d'inscription mercredi 22 octobre 2008 Statut Membre Dernière intervention 6 novembre 2008
6 nov. 2008 à 14:18
Bin c'est vrai que sur le coup je n'ai pas compris cette ligne, mais maintenant ça me parait évident... et vu que je suis la seule à n'avoir pas compris du 1er coup c'est que ça doit être assez clair! :)
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
6 nov. 2008 à 11:58
nickel si ça baigne
quand au temps de réponse, j'étais là,
un message me parvient quand quelqu'un
met un commentaire, que je soupçonnais
d'où ça venait...
cette ligne "colonne" n'est "pas si simple"
peut-être devrais-je refaire avec un format
d'appel du style { ...id:"valeur"... }
@+
cs_lena99 Messages postés 3 Date d'inscription mercredi 22 octobre 2008 Statut Membre Dernière intervention 6 novembre 2008
6 nov. 2008 à 11:36
Super je viens de comprendre cette fameuse ligne "colonnes : n° [,type[:taille]][;n°[,type[:taille]]...]"

Ça fonctionne maintenant!! je n'avais pas précisé le type donc ça prenait celui par défaut!

Merci beaucoup, réponse ultra rapide en plus!!!

A+
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
6 nov. 2008 à 11:26
parce que le type de tri pour cette colonne
n'est pas correct, probablement.

appel : trier( tableau à trier,
"colonnes",
"sens",
Nbr Lignes de Titres à ne pas trier 0 par défaut);

colonnes : n° [,type[:taille]][;n°[,type[:taille]]...]
Type actuellement possibles ( C par défaut )
c Caractères
jj/mm/aaaa Date jj/mm/aaaa
jjmmaaaa Date jjmmaaaa
e:taille Entier:nbr caractères maxi

pas grand chose à modifier s'il y a des décimales

@+
cs_lena99 Messages postés 3 Date d'inscription mercredi 22 octobre 2008 Statut Membre Dernière intervention 6 novembre 2008
6 nov. 2008 à 11:05
Bonjour, merci pour ton code!
Juste une question, lorsque je trie des entiers, il ne les range pas par ordre chronologique mais par ordre alphabétique... est-ce que ça vous fait ça aussi?

exemple :
pour trier 10, 110, 12, 1110 ça donne 10, 110, 1110, 12!! au lieu de 10, 12, 110, 1110

une idée?? Merci d'avance!!
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
25 juin 2007 à 16:06
Sans probleme :). De plus ca ma fait progresser en html et js, du moins un petit peu.

A bientot.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 juin 2007 à 15:55
merci à toi d'avoir permis cette "évolution". @+
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
25 juin 2007 à 15:48
Ok bah c'est cool merci, ca marche et tout lol :).

A bientot Bultez et merci encore.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 juin 2007 à 15:42
si j'avais réflêchi un ch'tit poil,
il y a longtemps que j'aurais mis ce
nombre de lignes titre en paramètre.
c'est fait. plus de modifs à faire.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 juin 2007 à 15:07
mea culpa... voila ce que cest que d'aller trop vite...
tout n'était pas dit, il manque quelques indications
( en fait partout où l'on se sert de buffer !
remplacer buffer[l][c] par buffer[l-2][c]
si 2 lignes de titres )
je remet à jour...
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
25 juin 2007 à 14:30
Les commentaires de ton script sont exactement ce que tu avais dit le 15/09/2006 a 11:50:10 il me semble et j'ai fait la modification (pour 2 lignes d'en tete) et ca ne marche pas pour le tri decroissant, ca me donne l'erreur citee pkus haut. Avec le bout de code que j'ai paste dans mon message de 12h48 ce jour tout marche bien, me reste qu'a comprendre pourquoi...

A plus.
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
25 juin 2007 à 14:22
Ok merci je regarde ca.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 juin 2007 à 14:07
exact F0k3ry. je met à jour.
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
25 juin 2007 à 12:56
Hum j'ai pas bien compris je ne vois aucun § dans la source, je vais manger et je continue ca. A tout ;)
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
25 juin 2007 à 12:52
J'ai pas actualiser avant de poster donc je viens de remarquer ton com, je redl la source et je te tiens au courant. Merci
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
25 juin 2007 à 12:48
Bon bah voila, petite solution apportee:

buffer.sort(); // trier

if (sens.charAt(0).toLowerCase()!="a") // inversion si non= A[scendant]
{ buffer.reverse();
for( l = 2; l < ligfin; l++ ) // "recharger" le tableau htm
{ for ( c=1;c<=colfin;c++ )
{ tableau.rows[l].cells[c-1].innerHTML = buffer[l][c]; } } }
else
{
for( l = 2; l < ligfin; l++ ) // "recharger" le tableau htm
{ for ( c=1;c<=colfin;c++ )
{ tableau.rows[l].cells[c-1].innerHTML = buffer[l-2][c]; } } } }

Comme ca ca marche, mais je n'ai toujours pas compris pourquoi lors du rechargement d'un tri decroissant l'instruction n'est pas la meme. J'attends de l'aide si possible pour m'expliquer ca, si je le trouve avec une source exterieur je posterias la reponse.

Merci Bultez pour le code ;).
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 juin 2007 à 12:34
dans la source :
//########################################################
// les modifs à faire si on ne veut pas trier la 1ère
// ligne qui contiendrait des titres par exemple sont
// marquées en commentaire avec §§§§§§§§§§§§§§§§§§§§
//########################################################
"il suffit" d'adapter. @+
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
25 juin 2007 à 12:09
Hehe apparament ca ne marche pas quand on change l'instruction au moment du rechargement du tableau, mais ca marche lorsque l'instruction est:

tableau.rows[l].cells[c-1].innerHTML = buffer[l][c];

Mais, dans ce cas la le tri croissant ne fonctionne plus, il faudrait donc peut etre que je separe les instructions. Le probleme restant: je n'ai pas compris pourquoi il y avait un probleme, donc je vais encore essayer de chercher meme si ca a l'air de marcher j'aimerais comprendre le pourquoi.

A plus.
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
22 juin 2007 à 10:28
Salut dsl hier j'ai pas repondu en apres midi. C'est sur que le contenu est
... mais ca classait avec FF et non avec IE, c'etait bisarre. Maintenant tout classe bien, il me reste juste un probleme au niveau du classement decroissant je vais jeter un oeil. Voici l'erreur:

buffer[l-2] has no properties

[ l-2 car je commence a la ligne 2 (ligne 0: titre, ligne 1: fleche pour tri) ]
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
21 juin 2007 à 11:44
>>th rend gras le contenu de la cellule, j'ai donc pas retenu ton idee.
ben... et utiliser un style ou la classe pour définir ce qui te convient ?
( text-decoration, font ... ) dans un th
ou ( text-align... ) dans un td ( ou ton align=center bien sûr. )

>>Apparemment il a pas du aimer les balises
. ;)
"c'est pas ça". c'est qui si tu mets un div dans le td, ben... il y est.
le contenu n'est pas égal à "jj/mm/aaaa" mais à "
jj/mm/aaaa
"
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
21 juin 2007 à 11:26
Hum, <th> centre mais egalement rend gras le contenu de la cellule, j'ai donc pas retenu ton idee. Par contre elle m'a fait avancer :). J'ai utilise: <td align="center" class"Style13">. Et maintentant sous IE ça marche impec. Apparemment il a pas du aimer les balises
. ;)
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
21 juin 2007 à 10:51
Ok, je vais essayer avec cette maniere. Je te tienns au courant :). Merci.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
20 juin 2007 à 12:13
si tu met un div dans le td : bien entendu.
le td ne contient plus uniquement la date.
( il suffit de faire un alert du innerHTML pour voir )

j'use de innerHTML, et dans certains cas d'ailleurs,
il vaudrait mieux utiliser innerText ( plus rapide déjà )

et si ton class était sur le td ? ( enfin th comme centré )
<th class="Style13">03/09/2006</th>

>>le tri des dates sous IE
ben ? ça marche !
je développe en général sous IE. et, quand
c'est possible, j'adapte pour FF et consors.
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
20 juin 2007 à 11:57
Oui probleme avec les dates mais que avec IE comme navigateur, sous FF cest nickel :). Par contre jai du modif un peu le js aussi pour les dates j'avais oublie de le preciser. En effet ton tri se fait sur le code entier des champs du tableau et non sur la valeur dans la case seulement, il faut donc bien harmoniser son code pour les chaine et entiers, mais surtout modifier le javascript pour qu'il puisse mettre dans l'ordre les date sous la forme aaaammjj. Pour mon exemple:

code html: <td>
03/09/2006
</td>

on fait un petit peu de calcul et on trouve donc que apres <td> l'annee est a la place 42, le mois 39 et le jour 36.
j'ai donc du modifier le script js comme suit:

code js initial: Zone=Zone.substr(6,4) +
Zone.substr(3,2) +
Zone.substr(0,2); // mise en forme aaaammjj

code js modifié: Zone=Zone.substr(42,4) +
Zone.substr(39,2) +
Zone.substr(36,2); // mise en forme aaaammjj

Voila. Si tu as une idée pour rendre compatible le tri des dates sous IE tiens moi au courant stp.

A plus.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
19 juin 2007 à 13:17
>>par contre le script a du mal avec les dates
si les dates sont sous la forme jjmmaaaa ou jj/mm/aaaa
à priori c'est prévu. sinon c'est "facilement" modifiable.
>>Il faut donc bien veiller a les mettre entre quote
certes. j'avions point vu. ( car pas de tests possibles, sinon,
ça se voit immédiatement, le message d'erreur est très clair ).
>>tout marche
nickel alors...
@+
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
19 juin 2007 à 11:54
Sorry oublie de fermer une parenthese:

( <script> var nom_var_tab = document.getElementById("id_tableau"); </script> ).
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
19 juin 2007 à 11:53
Bon apres quelques retouches sur le js et aussi une tres bon aide d'un pote pour mieux comprendre le code tout marche nickel sur FF, par contre le script a du mal avec les dates sous IE (nickel pour chaine et entier).

Sinon GROSSE NOTE: mon pote m'a donc aider a comprendre le js et les arguments a passes sont donc des chaines. Il faut donc bien veillez a les mettre entre quote chose que tu as omis de preciser Bultez. D'ailleurs tu n'avais meme pas remarquer mon erreur dans le forume xD. Rectification des mes dernier poste donc, l'appel est du style trier(nom_tableau,'num_colonne[,type[:taille]][;n°[,type[:taille]]...]','sens'). Pour mon cas perso ce serait donc de la forme:
trier(suivi,'2','d').
Il faut aussi ne pas oublier de declarer le tableau pour le js entre balises <script> ( <script> var nom_var_tab = document.getElementById("id_tableau"); </script>.

Encore merci a mon pote pour sa grande aide et sa pedagogie car j'ai bien compris et a toi pour ta source.
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
18 juin 2007 à 11:32
Ok Ok, je continue egalement avec de l'aide exterieure. Je te garde au courant. Merci.
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
18 juin 2007 à 11:31
Ok Ok, je continue avec de l'aide exterieure aussi. Merci, je te garde au courant.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 juin 2007 à 11:19
normal.
( oui je sais c'esxs agaçant de lire ça ... )
onclick="trier(document.getElementById('suivi'),1,'d');" />
sinon javascript tente d'utiliser la variable suivi
( puisque sans ' ou sans " )... qui est inconnue
tant qu'à document.getElementById("suivi")
les navigateurs se pomment dans les "
@+
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
18 juin 2007 à 11:09
Voila le debut du code (enfin pas le tout debut):

<script language='javascript' src='tri.js'></script>


<table width="143%" border="2" cellpadding="0" cellspacing="0" id="suivi">
<tr bgcolor="#FF6600">
<td width="7%" height="107">


et l'appel:




J'ai tenté de remplacer par document.getElementById("suivi") comme tu m'as dit plus haut, mais il n'a pas aimé :s.
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
18 juin 2007 à 10:56
Je regarde ça de suite.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 juin 2007 à 10:47
normalement :

<table id="suivi"...>
trier(document.getElementById("suivi"),"colonnes pour le tri","sens du tri");

et ça baigne avec IE,FF,K-Meleon,Opera...
il y a, probablement, une erreur dans la description de <table>
( ou avant ! ) ou dans l'appel au tri en JavaScript.
@+
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
18 juin 2007 à 10:27
Toujours ce "suivi is not defined" dans la console d'erreur sur FF, sur IE un message apparait: "Cet objet ne gère pas cette propriété ou cette methode", en faisant le debogage le bug serait a cette ligne:
var TabCol=colonnes.split(";"); // format : n°,type:taille;n°;...n°
mon appel serait peut etre donc mal fait, désolé j'ai un peu de mal avec ce langage...
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
18 juin 2007 à 09:56
Désolé problème familial, j'étais absent depuis mercredi, je me replonge dedans et je te tiens au courant. Merci
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 juin 2007 à 06:38
si tu ne trouves pas, m'envoyer la page,
ici pour me joindre : http://mas.keo.in/?Bul (pour mail sans spams)
on mettra le pourquoi du comment ici.
Cordialement.
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
12 juin 2007 à 16:53
Sans probleme pour le "BRUT" ça m'a suffit ;).
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
12 juin 2007 à 16:52
Voila j'ai fait ce que tu m'as dit, et je trouve ça: "suivi not defined" ce qui veut dire que mon tableau n'aurait pas d' ID ou en tout cas que ce ne soit pas ce nom la, pourtant:

<table width="143%" border="2" cellpadding="0" cellspacing="0" id="suivi">

Merci d'avance.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 juin 2007 à 16:48
ah!!! quelle mise en page !
c'est vrai que c'est du "brut", et sans les liens !
mais c'est lisible... et si tu veux les liens :
IE : http://www.microsoft.com/downloads/details.aspx?familyid=2F465BE0-94FD-4569-B3C4-DFFDF19CCD99&displaylang=en
FF : http://extensions.geckozone.org/FireBug
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
12 juin 2007 à 16:47
Merci beaucoup de ta rapidité de réponse, je regarde ça de suite et je reviens vers le forum.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 juin 2007 à 16:45
tout ce que tu me donnes c'est l'appel. pas le html, difficile d'être sûr...

mais déjà : onclick="trier(suivi,2,'d');" et onclick="trier(suivi,2,'a');">
¤¤¤¤¤¤¤¤¤
il manque sûrement les ' avant et après a et d

>>rien ne se passe.
je pense que si : probablement messages d'erreurs "a et d undefined".

o~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o
|Avec| et mieux : Télécharger |
|~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~|
| FF |regarder la "console d'erreurs" | FireBug |
| | Outils / Console d'erreurs | |
|~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~|
| IE |activer le deboggage : Outils/options Internet/Avancés | le Debogger IE |
| | dans la liste, sous "Navigation" : décocher | |
| | ° Afficher une notification de chaque erreur de script | |
| | ° Désactiver le débogage de Scripts (autres applications)| |
| | ° Désactiver le débogage de Scripts (Internet Explorer) | |
o~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o

Cordialement.
f0k3ry Messages postés 28 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 février 2010
12 juin 2007 à 16:26
Hum, lorsque j'utilise ton exemple tout marche nickel mais lorsque je dois le transposer sur mon code j'ai quelques problèmes. Je suis novice en html mais actuellement en stage et on me demande du taf dans cette spécialités. En fait j'ai un tableau avec plusieurs colonnes et je veux pouvoir les trier, donc j'ai foutu un 2 pti png (ascendant/descendant) mais lorsque je click dessus, rien ne se passe. Voici un extrait de l'instruction:




J'espère que cet extrait suffira. Merci d'avance a bientot.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 sept. 2006 à 11:50
comme j'ai eu plusieurs questions à ce sujet :
============================================
modifs à faire si on ne veut pas trier la 1ère
ligne qui contiendrait des titres par exemple.
============================================
10. for( var l = 1; l < ligfin; l++ ) {
66. for( l = 1; l < ligfin; l++ ) {
68. tableau.rows[l].cells[c-1].innerHTML = buffer[l-1][c];
============================================
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
20 juil. 2006 à 03:15
Oui, changer le 2ème for marche effectivement! merci! :)
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 juil. 2006 à 05:33
salut Evangun,
il y a 2 "for ( var l=0; l<ligfin; l++ )" dans le script
peut-être en mettant "for ( var l=1; l<ligfin; l++ )"
à la place ? à tester.
@+
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
13 juil. 2006 à 00:42
Bonjour Bultez,
merci bcp pour ce script simple que j'ai pu adapter sur mon site.
Je me demandais s'il y aurait un moyen que la première ligne (<th></th>) ne soit pas traitée comme les autres (<tr></tr>), pour qu'elle puisse servir de titre à chaque colonne? sinon il faut la construire à part et si le tableau est déformé, ça ne colle plus...
et merci encore.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
10 nov. 2005 à 10:45
nos messages se sont croisés Khannibal,
tant mieux, heureux que cela fonctionne.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
10 nov. 2005 à 10:37
salut Khannibal,
là, ce qui est donné, c'est le php, donc comme
on ne sait pas ce qu'il y a dans les variables ...
impossible de répondre. De plus si le tri fonctionne,
quel peut-être le rapport avec ce onmouseover ou le
formulaire ? là aussi difficile de répondre, sans plus
de billes.
ce que tu peux faire : m'envoyer, par mail, la page
html générée ( pas le php hein ! la page telle qu'elle
est affichée chez le client ), ou mieux : poser la
question sur le forum JavaScriptFR. ( pas trop grosse
la page, l'extrait nécessaire seulement ) @+
cs_Khannibal Messages postés 2 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 10 novembre 2005
10 nov. 2005 à 10:36
C'est bon j'ai trouvé.
Enfait c'etait ma balise <form></form> qui n'etait pas dans le <td></td> donc forcement elle etait perdu.

Donc voila tout marche.
Merci encore pour ce superbe script.
cs_Khannibal Messages postés 2 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 10 novembre 2005
10 nov. 2005 à 10:15
Tres beau script.
Je voulais m'en servir pour trier mon tableau mais j'ai un gros probleme :

<td align="left">
GetInfo(CL_L)); ?>">
GetInfo(NM_L);?>" onmouseover="return escape('<?php $this->GetToolTip();?>')">
</td>

Apres quelques petites modifs (mineures) le tri a l'écran fonctionne mais mon formulaire et le onmouseover ne fonctionne plus :'(

Si vous avez une idée suis prenneur.
Merci
cs_jjdagadir Messages postés 127 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 6 mars 2009
1 avril 2005 à 12:41
çà marche, c'est propre comme d'habitude Bultez.
donc çà vaut 10.
Kenavo
Rejoignez-nous