si vous avez un bon script a partager c'est ici ! ces scripts doivent etre absolument de vous
( bien entendu il est possible que le meme genre existe deja, mais le code doit etre de vous )
pour que ce topic soit le plus clair possible :
une methode de presentation ( faites un copier/coller )
merci de respecter la presentation
( ça facilitera la lecture lors des recherches...)
Nom du Script : pas de nom Domaine(s) : Manipulation Tableau Html Description :
permet d'afficher masquer une colonne en cliquant sur l'entete du tableau
function masque(num)
{
num--;//numero +1 car compte a partir de 0... ce qui permet de compter a partir de 1 en appelant la fonction ( question de preference...)
var tab=document.getElementById('tab1');
for(i=0;i<tab.rows.length;i++)//Parcour les lignes
{
var c=0;
while(c<tab.rows[i].cells.length)//parcour les cellules
{
if(c==num && i>0)// si i=0 alors c'est le th....
{
if(tab.rows[i].cells[c].style.visibility=='hidden')//vous pouvez faire la meme chose avec display
tab.rows[i].cells[c].style.visibility='visible';
else
tab.rows[i].cells[c].style.visibility='hidden';
}
c++;
}
}
}
exemple d'utilisation :
<html>
<head>
<script type="text/javascript" language="javascript">
function masque(num)
{
num--;//numero +1 car compte a partir de 0...
var tab=document.getElementById('tab1');
for(i=0;i<tab.rows.length;i++)//Parcour les lignes
{
var c=0;
while(c<tab.rows[i].cells.length)//parcour les cellules
{
if(c==num && i>0)// si i=0 alors c'est le th....
{
if(tab.rows[i].cells[c].style.visibility=='hidden')
tab.rows[i].cells[c].style.visibility='visible';
else
tab.rows[i].cells[c].style.visibility='hidden';
}
c++;
}
}
}
</script>
</head>
<style type="text/css">
td{
border:1px solid red;
text-align:center;
visibility:visible;
}
th{
border:1px solid green;
cursor:pointer;
text-align:center;
}
</style>
<body>
<center style="margin-top:125px;">
<table style="border:1px solid blue;width:400px;height:400px" id="tab1">
<tr>
<th onclick="masque(1);">col1</th><th onclick="masque(2);">col2</th><th onclick="masque(3);">col3</th><th onclick="masque(4);">col4</th>
</tr>
<tr>
<td>
cell1
</td>
<td>
cell2
</td>
<td>
cell3
</td>
<td>
cell4
</td>
</tr>
<tr>
<td>
cell1
</td>
<td>cell2
</td>
<td>cell3
</td>
<td>
cell4
</td>
</tr>
</table>
</center>
</body>
</html>
__________________________
la FAQ javascript :
http://www.forum.moteurprog.com/?url=FAQ.php&langage=Javascript
mon site préféré sur le DHTML
http://www.dhteumeuleu.com/
Domaine(s) : images/css Description :
comment faire defiler une image de plus en plus rapidement lorsque la souris
reste appuyé sur un boutton puis stopper le defilement lors du relachement du bouton
( onmouseup )
var a;
var timeSpeed=new Array();
Array.prototype.add=function(t){this[this.length+1]=t;}// ça ça permet d'utuliser leTableau.add comme si ça fesait partie de l'array, mais c'est pour les flemards;)
function go(p)//gauche droite
{
var img=document.getElementById('image');//nom de votre image ( ici id="image" )
var px=img.style.left.replace('px','');
if(p==1)
px--;
else
px++;
img.style.left=px+'px';
}
function go2(p)//Monter descendre
{
var img=document.getElementById('image');//nom de votre image
var px=img.style.top.replace('px','');
if(p==1)
px--;
else
px++;
img.style.top=px+'px';
}
/*
code a mettre dans le bouton utilisant ceci ( boutton pour descendre )->
<button onmousedown=a=setInterval("timeSpeed.add(setInterval('go2(2);',1));",100); onmouseup="clearInterval(a);for(i=0;i<timeSpeed.length;i++)clearInterval(timeSpeed[i]);">down</button>
*/
exemple d'utilisation :
<html>
<head>
<script language="javascript">
var a;
var timeSpeed=new Array();
Array.prototype.add=function(t){this[this.length+1]=t;}// ça ça permet d'utiliser le Tableau.add comme si ça fesait partie de l'array, mais c'est pour les flemards;)
function go(p)//gauche droite
{
var img=document.getElementById('image');//nom de votre image
var px=img.style.left.replace('px','');
if(p==1)
px--;
else
px++;
img.style.left=px+'px';
}
function go2(p)//Monter descendre
{
var img=document.getElementById('image');//nom de votre image
var px=img.style.top.replace('px','');
if(p==1)
px--;
else
px++;
img.style.top=px+'px';
}
</script>
</head>
<body>
<center style="padding-top:100px;">
<button onmousedown=a=setInterval("timeSpeed.add(setInterval('go(1);',1));",100); onmouseup="clearInterval(a);for(i=0;i<timeSpeed.length;i++)clearInterval(timeSpeed[i]);"><<</button>
<button onmousedown=a=setInterval("timeSpeed.add(setInterval('go(2);',1));",100); onmouseup="clearInterval(a);for(i=0;i<timeSpeed.length;i++)clearInterval(timeSpeed[i]);">>></button>
<div style="width:450px;height:450px;border:1px solid blue;overflow:hidden">
<img src="uneimage" id="image" style="position:relative;" />
</div>
<button onmousedown=a=setInterval("timeSpeed.add(setInterval('go2(1);',1));",100); onmouseup="clearInterval(a);for(i=0;i<timeSpeed.length;i++)clearInterval(timeSpeed[i]);">up</button>
<button onmousedown=a=setInterval("timeSpeed.add(setInterval('go2(2);',1));",100); onmouseup="clearInterval(a);for(i=0;i<timeSpeed.length;i++)clearInterval(timeSpeed[i]);">down</button>
</center>
</body>
</html>
__________________________
la FAQ javascript :
http://www.forum.moteurprog.com/?url=FAQ.php&langage=Javascript
mon site préféré sur le DHTML
http://www.dhteumeuleu.com/
Domaine(s) : Text Defilant Description : Simuler la balise <marquee>
var t;//pour le timer...
function bBouge()
{
var leTrucQuiBouge=document.getElementById('marqu');//ion recupere la balise qui a pour id "marqu"
var pxLeft=leTrucQuiBouge.style.left.replace('px','');//on recupere le chiffre ( sans le px a la fin )
var tailleDuTruc=leTrucQuiBouge.offsetWidth;//offsetWidth c'est la taille du div.
var screenW=document.getElementById('conteneurTxtDefilant').offsetWidth;//taille de la balise <div> qui contient le msg defilant
if(pxLeft==0-tailleDuTruc)//si les pixels sont arrivés par rapport au bord gauche a la taille du texte ( donnera donc une position negative, du genre -100 )
pxLeft=screenW;//on remet le texte a la fin ( tout a droite )
else//sinon
pxLeft--;//on baisse les pixels ( ce qui provoque le decalage vers la gauche)
leTrucQuiBouge.style.left=pxLeft+"px";//on attribue la nouvelle position au texte
t=setTimeout('bBouge();',10);//toute les 0.010 secondes on rappele la fonction a l'infini ( recursivement )
}
window.onload=function(){
document.getElementById('marqu').style.left=document.getElementById('conteneurTxtDefilant').offsetWidth+'px';
t=setTimeout('bBouge();',10);//timer mis dans une variable pour pouvoir le stopper ( voir plus bas...)
}
Exemples d'utilisation
<html>
<head>
<script language="javascript">
var t;//pour le timer...
function bBouge()
{
var leTrucQuiBouge=document.getElementById('marqu');//ion recupere la balise qui a pour id "marqu"
var pxLeft=leTrucQuiBouge.style.left.replace('px','');//on recupere le chiffre ( sans le px a la fin )
var tailleDuTruc=leTrucQuiBouge.offsetWidth;//offsetWidth c'est la taille du div.
var screenW=document.getElementById('conteneurTxtDefilant').offsetWidth;//taille de la balise <div> qui contient le msg defilant
if(pxLeft==0-tailleDuTruc)//si les pixels sont arrivés par rapport au bord gauche a la taille du texte ( donnera donc une position negative, du genre -100 )
pxLeft=screenW;//on remet le texte a la fin ( tout a droite )
else//sinon
pxLeft--;//on baisse les pixels ( ce qui provoque le decalage vers la gauche)
leTrucQuiBouge.style.left=pxLeft+"px";//on attribue la nouvelle position au texte
t=setTimeout('bBouge();',10);//toute les 0.010 secondes on rappele la fonction a l'infini ( recursivement )
}
window.onload=function(){
document.getElementById('marqu').style.left=document.getElementById('conteneurTxtDefilant').offsetWidth+'px';
t=setTimeout('bBouge();',10);//timer mis dans une variable pour pouvoir le stopper ( voir plus bas...)
}
</script>
</head>
<body>
<center>
<div onmouseover="clearTimeout(t);" onmouseout="bBouge()" style="border:1px solid blue;width:50%;overflow:hidden;" id="conteneurTxtDefilant">
<span id="marqu" style="position:relative;">
Utiliser le <a class="a2" href="pack.php">pack graphique</a> vous permet d'afficher toutes les pages du site plus rapidement ; en <a class="a2" href="pack.php">savoir plus</a>.
</span>
</div>
</center>
</body>
</html>
</script>
</head>
__________________________
la FAQ javascript :
http://www.forum.moteurprog.com/?url=FAQ.php&langage=Javascript
mon site préféré sur le DHTML
http://www.dhteumeuleu.com/
Domaine(s) : Menu Description : un Menu positionné toujours au centre de la page ( suit le scroll de la page )
<!--
function positionneMoz()//pour NS/moz/FF
{
var leMenu=document.getElementById('menu');//nom du menu ( ici menu )
leMenu.style.top = window.pageYOffset;
leMenu.style.left = window.pageXOffset+window.outerWidth/2-leMenu.offsetWidth/2;//pour le centrer
}
function positionneIE()//Pour IE
{
var leMenu=document.getElementById('menu');//nom du menu ( ici menu )
leMenu.style.top = document.body.scrollTop;//scrollTop = la barre a gauche ( nombre de pixel ayant defilé)
leMenu.style.left =document.body.scrollLeft+(document.body.clientWidth - leMenu.offsetWidth) / 2;//pour le centrer
}
////////////////////////
//ici c'est la fonction qui verifie quel fonction utiliser ( positionne(); ou dispose(); )
////////////////////////
function start()
{
if(navigator.appName=='Microsoft Internet Explorer')//si le navigateur est IE
{
positionneIE();
window.onscroll=positionneIE;//la fonction lors du scroll est positionne();
}
else//si le navigateur est Netscape/Moz/FF ( bref toute la click )
{
setInterval("positionneMoz();",3);//on declenche la fonction dispose(); toutes les 10 millisecondes ( et oui, ici pas d'evenement onscroll...)
}
}
//-->
// et dans body : onload="start();"
Exemple d'utilisation
<html>
<head>
<script language="javascript">
<!--
function positionneMoz()//pour NS/moz/FF
{
var leMenu=document.getElementById('menu');//nom du menu ( ici menu )
leMenu.style.top = window.pageYOffset;
leMenu.style.left = window.pageXOffset+window.outerWidth/2-leMenu.offsetWidth/2;//pour le centrer
}
function positionneIE()//Pour IE
{
var leMenu=document.getElementById('menu');//nom du menu ( ici menu )
leMenu.style.top = document.body.scrollTop;//scrollTop = la barre a gauche ( nombre de pixel ayant defilé)
leMenu.style.left =document.body.scrollLeft+(document.body.clientWidth - leMenu.offsetWidth) / 2;//pour le centrer
}
////////////////////////
//ici c'est la fonction qui verifie quel fonction utiliser ( positionne(); ou dispose(); )
////////////////////////
function start()
{
if(navigator.appName=='Microsoft Internet Explorer')//si le navigateur est IE
{
positionneIE();
window.onscroll=positionneIE;//la fonction lors du scroll est positionne();
}
else//si le navigateur est Netscape/Moz/FF ( bref toute la click )
{
setInterval("positionneMoz();",3);//on declenche la fonction dispose(); toutes les 10 millisecondes ( et oui, ici pas d'evenement onscroll...)
}
}
//-->
</script>
</head>
<body onload="start();">
<div id="menu" style="border:1px solid blue;position:absolute;">
<a href="coucou">lien 1</a>
<a href="coucou1">lien 2</a>
<a href="coucou2">lien 3</a>
<a href="coucou3">lien 4</a>
<a href="coucou4">lien 5</a>
<a href="coucou5">lien 6</a>
</div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
pour pouvoir scroller... du texte qui ne sert pas a grand chose...
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />pour pouvoir scroller... du texte qui ne sert pas a grand chose...
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />pour pouvoir scroller... du texte qui ne sert pas a grand chose...<br /><br /><br /><br /><br /><br /><br /><br />pour pouvoir scroller... du texte qui ne sert pas a grand chose...
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />pour pouvoir scroller... du texte qui ne sert pas a grand chose...<br /><br /><br /><br />sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssdu texte pour pouvoir "scroller" horizontlementssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss<br />
</body>
</html>
Auteur : misterv. Description :
la meme chose, sans Javascript
( et sans utiliser fixed qui ne fonctionne pas sous Internet Explorer )
Code :
deux div, un qui possede le css
position:absolute;
le deuxieme qui possede overflow:auto;height:100%;width:100%
et enfin, le css de la balise body :
margin:0 0 0 0;pading:0 0 0 0;
Exemple d'utilisation :
<html>
<head>
<title>Menu fixe</title>
<style type="text/css">
body {
margin: 0;
padding: 0;
border: 0;
overflow: hidden;
}
#body2 {
position: absolute;
z-index: 5;
top: 0;
left: 0;
height: 100%;
width: 100%;
overflow: auto;
}
#fix1 {
position: absolute;
z-index: 6;
left: 60px;
top: 60px;
width: 50%;
height: 80px;
background-color: #efd;
}
#fix2 {
position: absolute;
z-index: 4;
left: 60px;
bottom: 60px;
width: 50%;
height: 80px;
background-color: #dfe;
}
</style>
</head>
<body>
<div id="body2">
<br /><br /><br /><br /><br /><br /><br /><br />
Ceci est la partie principale de la page. C'est à dire le contenu du block "body2".
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
Cette partie contient une scrollbar verticale et une horizontale
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
</div>
<div id="fix1">
Je suis la partie fixe 1. Je suis placé <b>au dessus</b> de la partie principale ou block "body2". Si vous faites défiler la page, vous verrez le texte du block "body2" passer <b>sous</b> moi.
</div>
<div id="fix2">
Je suis la partie fixe 2. Je suis placé <b>en dessous</b> de la partie principale ou block "body2". Si vous faites défiler la page, vous verrez le texte du block "body2" passer <b>sur</b> moi.
</div>
</body>
</html>
__________________________
la FAQ javascript :
http://www.forum.moteurprog.com/?url=FAQ.php&langage=Javascript
mon site préféré sur le DHTML
http://www.dhteumeuleu.com/
[B]DOMAINE : [/B] setInterval
[B]DESCRIPTION : [/B] le code que je propose est ultra-simple mais assez utile à mon gout pour le poster ici.
le but est de lancer un setInterval dynamiquement (par exemple pour un décompte de temps ou une animation en js), sans l'inconvénient d'accélérer et de détraquer le setInterval si l'on reclique plusieurs fois sur le bouton de lancement.
[B]CODE : [/B]
<script language = "javascript">
var speed = 500
var control = 0
var i = 0
var f
function show() {
++ i
document.forms[0].elements[0].value = i
}
function c_start() {
++ control
if(control == 1) {
f = setInterval("show()",speed)
}
}
function c_stop() {
control = 0
clearInterval(f)
}
</script>
[B]EXEMPLE D'UTILISATION : [/B]
<html>
<head>
<title>exemple setInterval</title>
<style>
input {
border:2px solid blue;
color:black;
font:12px bold "Verdana";
}
.input1 {
width:150;
text-align:center;
}
.input2 {
width:75;
}
</style>
<script language = "javascript">
var speed = 500
var control = 0
var i = 0
var f
function show() {
++ i
document.forms[0].elements[0].value = i
}
function c_start() {
++ control
if(control == 1) {
f = setInterval("show()",speed)
}
}
function c_stop() {
control = 0
clearInterval(f)
}
</script>
</head>
<body scroll = "no" bgcolor = "black">
<center>
<br><br><br>
<form>
<input type = "text" class = "input1"><br>
<input type = "button" value = "start" class = "input2" onclick = "c_start()">
<input type = "button" value = "stop" class = "input2" onclick = "c_stop()">
</form>
</center>
</body>
</html>
Auteur : Bul Nom du Script : CtrNum Domaine(s) : Contrôle Saisie Caractères Description : Plutôt que de contrôler, à posteriori, le contenu d'un champ pour voir s'il est numérique, pourquoi ne pas éliminer tout ce qui n'est pas chiffre, immmédiatement, lors de la saisie ? Code :
<HTML>
<HEAD>
<TITLE>Ne Saisir que des Chiffres</TITLE>
<script type="text/javascript">
function CtrNum(zone)
{ zone=zone.replace(/([^0-9])/g,""); }
</script>
</HEAD>
<BODY>
<input type="text"
onkeyup="CtrNum(this.value);">
</BODY></HTML>
Auteur : Bul Nom du Script : SuitScrollBar Domaine(s) : Affichage d'objets Description : Afficher un Objet toujours à la même hauteur dans la page, même en se déplaçant avec la "ScrollBar". Code :
<HTML>
<HEAD>
<TITLE>Suivre La ScrollBar</TITLE>
<script type="Text/JavaScript">
function SuitScrollBar(obj,haut)
{ obj.style.top = document.body.scrollTop+haut; }
</script>
</HEAD>
<body>
<input name="imag"
id="imag"
type="image"
style="position:absolute;top:20;left:50%"
src="exemple.gif"/>
<script type="Text/JavaScript">
// pour provoquer l'affichage de la ScrollBar
for (var n=0;n<100;n++) document.write(n+"<br/>");
// ==========
var h=parseInt(document.getElementById("imag").style.top,10);
window.onscroll=( function() { SuitScrollBar(document.getElementById("imag"),h); } );
</script>
</BODY></HTML>
Commentaires : ici on utilise une image, bien entendu ça fonctionne avec tout objet ( div, span, table ... ), à 20px du haut et au centre. @+
Auteur : Bul Nom du Script : Trier Domaine(s) : Tri Description : Tri Mulit-colonnes d'un tableau HTML Code :
//##############################################################################
function trier(tableau,colonnes,sens) //######## trier un tableau htm ########
//##############################################################################
// <script type="text/javascript" src="trier.js"></script>
// appel : trier(tableau à trier,colonnes,sens);
// 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
//##############################################################################
{ var ligfin=tableau.rows.length; // nbr lignes
var TabCol=colonnes.split(";"); // format : n°,type:taille;n°;...n°
var buffer=Array(ligfin); // buffer[nbr lignes]
for ( var l=0; l<ligfin; l++ )
{ var colfin=tableau.rows[l].cells.length; // nbr colonnes
buffer[l]=new Array(colfin+1); // buffer[lignes][colonnes +1]
buffer[l][0]=""; // buffer[ligne][0]=critères de tri
for ( var t=0; t<TabCol.length; t++ )
{ var Prm=TabCol[t].split(","); // Prm[0]=n° colonne
if (!Prm[1]) Prm[1]="c"; // Prm[1]=type
var Zone=tableau.rows[l].cells[Prm[0]].innerHTML;
Prm=Prm[1].split(":"); // Prm[0]=type, Prm[1]=taille
switch (Prm[0].toLowerCase()) {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case "e": //~~~~ Entiers ~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while ( Zone.length<Number(Prm[1]) ) // adapter la
{ Zone="0"+Zone; } // longueur
break;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case "jjmmaaaa": //~~~~ format date ~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zone=Zone.substr(4,4) +
Zone.substr(2,2) +
Zone.substr(0,2); // mise en forme aaaammjj
break;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case "jj/mm/aaaa": //~~~~ format date ~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 ~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
case "c": //~~~~ caractères ~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
break; }
buffer[l][0]+=Zone; }
for ( var c=0;c<colfin;c++ ) // mémoriser contenu [lignes][colonnes]
{ buffer[l][c+1]=tableau.rows[l].cells[c].innerHTML; } }
buffer.sort(); // trier
if (sens.charAt(0).toLowerCase()!="a") // inversion si non= A[scendant]
{ buffer.reverse(); }
for ( l=0;l<ligfin;l++ ) // "recharger" le tableau htm
{ for ( c=1;c<=colfin;c++ )
{ tableau.rows[l].cells[c-1].innerHTML=buffer[l][c]; } } }
//##############################################################################
Auteur : Mister V Nom du Script : LienXtern Compatible :IE, FireFox, et normalement Opera, Konqueror, Safari et tous les navigateurs recents, voir même des anciens avec un peu de chance. (Si quelqu'un a l'occasion de tester sur des nav, prévenez moi svp Description :
En XHTML, la propriété target des liens n'est pas acceptée. Cependant, dans certains cas, il peut-être utile de proposer des liens s'ouvrant dans une nouvelle fenetre. Cette possibilité doit rester un plus dont bénéficie ceux ayant du JavaScript Activé, et donc les liens doivent-être fonctionnel sans JavaScript.
C'est pour répondre à ces contraintes, et dans le but d'obtenir un script très simple à utilisé que j'ai développer ce petit JavaScript.
Ainsi le code (X)HTML reste pure... sans JS integré et donc votre page est totalement valide, le systeme est totalement transparent.
La méthode est simple : Tous les liens sont scannés, et ceux dont la classe correspond à une classe défini sont pri en charge.
Les liens pris en charge se voient attribué un ecouteur de clique. Si il y a un clique sur le lien, celui-ci sera ouvert grace à la fonction window.open().
Je prévois la creation prochaine d'une nouvelle version de ce script utilisant plus les propriétés objet de JS. Cela permettra de lié differents types de liens (avec des options d'ouvertures diferentes) selon le nom de la classe du lien.
Description :
pratique pour generer rapidement un tableau avec du contenu ( utile pour effectuer des test )
function getTab(tabID)//prend en parametre un id de tableau
{
var tab=document.getElementById(tabID);
var nblignesVoulue=500;//NOMBRE DE LIGNES A GENERER
var nbcell=tab.rows[0].cells.length;
var nbboucle=nblignesVoulue*nbcell;
ll=document.forms[0].nbligne;
//Uniquement pour le test, et pour eviter de taper 2000 lignes comme ça, a "la main" ;)
var lettre=new Array(
"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","x","y","z"
);
var str,index,finalst;
finalst='<tr>\n';
for(var u=1;u<nbboucle;u++)
{
str="";
for(var b=0;b<15;b++)
{
index=Math.round(Math.random()*24);
str+=lettre[index];
}
finalst+="<td>"+str+"</td>\n";
if(u%tab.rows[0].cells.length==0 && u!=nbboucle)
{
finalst+="</tr><tr>\n";
}
}
finalst+="</tr>";
tab.innerHTML+=finalst;
}
Exemple d'utilisation :
<html>
<head>
<script language="javascript">
function getTab(tabID)//prend en parametre un id de tableau
{
var tab=document.getElementById(tabID);
var nblignesVoulue=500;//NOMBRE DE LIGNES A GENERER
var nbcell=tab.rows[0].cells.length;
var nbboucle=nblignesVoulue*nbcell;
ll=document.forms[0].nbligne;
//Uniquement pour le test, et pour eviter de taper 2000 lignes comme ça, a "la main" ;)
var lettre=new Array(
"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","x","y","z"
);
var str,index,finalst;
finalst='<tr>\n';
for(var u=1;u<nbboucle;u++)
{
str="";
for(var b=0;b<15;b++)
{
index=Math.round(Math.random()*24);
str+=lettre[index];
}
finalst+="<td>"+str+"</td>\n";
if(u%tab.rows[0].cells.length==0 && u!=nbboucle)
{
finalst+="</tr><tr>\n";
}
}
finalst+="</tr>";
tab.innerHTML+=finalst;
}
</script>
</head>
<body style="padding-top:180px;">
<br />Nombre de lignes
<input type="button" name="nbligne" value="test" onclick="alert(document.getElementsByTagName('table')[0].rows.length)";/>
<br />
<table border="3" id="test" ondblclick="getTab(this.id);">
<tr>
<th>
nom
</th>
<th>
prenom
</th>
<th>
date naissance
</th>
<th>
sports
</th>
<th>
ville
</th>
<th>
cp
</th>
<th>
adresse
</th>
<th>
AGE
</th>
</tr>
</table>
</center>
</body>
</html>
Edit :
dblclick sur le tableau pour generer des lignes
__________________________
la FAQ javascript :
http://www.forum.moteurprog.com/?url=FAQ.php&langage=Javascript
mon site préféré sur le DHTML
http://www.dhteumeuleu.com/