gvolluz
Messages postés1Date d'inscriptiondimanche 15 janvier 2012StatutMembreDernière intervention14 février 2012 14 févr. 2012 à 09:26
Bonjour,
tout d'abord merci pour ce code, étant plus habitué aux langages impératifs(ASP,Pascal et tout le bordel) cela m'avance beaucoup^^
mais je me demandais, c'est plutôt une question sur le java script, mais serait-il possible de créer un tableau de taille définie par l'utilisateur ?
je pensais à cela : mais il ne s'affiche pas
NbLigne = prompt("Entrez le nombre de lignes : ");
NbColonne = prompt("Entrez le nombre de colonnes : ");
var tabtab = new Array(NbLigne ,NbColonne );
var obj=document.getElementById('grid');
obj.appendChild(CreateTableArray(tabtab));
et tant que j'y suis je ne me gêne pas, mettre un textarea dans chaque cellule du tableau, imaginable ? possible ?
Merci d'avance de votre temps,
Cordialement, Guy
xzonz
Messages postés103Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention23 novembre 2022 12 oct. 2011 à 19:39
salut :-)
cela m'a l'air super pratique en revanche je n'arrive pas l'utiliser.
j'aurais voulu savoir si c'est possible de passer un array javascript unidimensionnel tout en gardant la possibilité
de pouvoir mettre le nombre de lignes et colonnes que l'on veut.
voila le bout de code ou je charge le array que j'affiche dans un popup (il contient des liens d'images pour faire une galerie), ca fonctionne !
la ou je bloque c'est pour passer le tableau dans la fonction
et l'afficher dans le popup (pas besoin des entêtes)
un tableau de dix colonnes et x lignes (dépend du nombre d'images)
un petit exemple sous forme de code serait le bienvenu car
la je galère vraiment ...si tu peux m'aider ?
Merci beaucoup
F
//--------------------------------------------------------------------------
// génération de la galerie dans un popup
$('a.galerie').click(function(e){
var ell= e.target||event.srcElement;
divchoisi="#"+"div"+ell.id.substr(4);
var tab=new Array()
$(divchoisi + ".stylediv a").each(function() {
tab.push('['+$(this).attr('href')+' '+''+']')
});
w=open("",'popup','width=800,height=400,toolbar=yes,scrollbars=yes,resizable=yes,');
w.document.write('
cs_pierrot01
Messages postés13Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention 9 novembre 2009 9 nov. 2009 à 21:35
Salut ;)
Tout ça est encore en test ;)
c'est vrai que les moches boutons bugués vont disparaitrent pour un meilleur design fonctionnel à 100%.
Mais le principe est là ;)
tiends, voila le code pour faire ce que tu a vu :
Le code HTML et JS :
// function CreateNewGrid(idgrid,divparent,tabtab)
var nbdiv=0;
var page=new Array();
var tabtab= "";
var nbwin=0
function Appel_Ajax(xpage) {
var param="page="+xpage;
new Ajax_request('listindividu.php',{method:'post',params:param,onSuccess:succAjax,onError:ErrorAjax,async:false});
}
function ErrorAjax(xhr) {
alert('error : status =' +xhr.status);
}
function succAjax(xhr) {
tabtab=xhr.responseText
}
function Eventbf(mydiv){
page[mydiv]=1;
Appel_Ajax(page[mydiv]);
RefreshGrid(mydiv,tabtab);
}
function Eventbp(mydiv){
page[mydiv]--;
Appel_Ajax(page[mydiv]);
RefreshGrid(mydiv,tabtab);
}
function Eventbn(mydiv){
page[mydiv]++;
Appel_Ajax(page[mydiv]);
RefreshGrid(mydiv,tabtab);
}
function Eventbl(mydiv){
page[mydiv]=-1;
Appel_Ajax(page[mydiv]);
RefreshGrid(mydiv,tabtab);
}
Voilou, faut pas grand chose pour faire du booooooo :D
a++
pifou25
Messages postés144Date d'inscriptionlundi 13 octobre 2003StatutMembreDernière intervention21 décembre 2014 9 nov. 2009 à 21:13
si, en fait c'est si on dépasse les bornes que ça se perd les pédales. genre si je clic sur >> et puis > ou bien << et <
les fenêtres c'est fun aussi ^^
pifou25
Messages postés144Date d'inscriptionlundi 13 octobre 2003StatutMembreDernière intervention21 décembre 2014 9 nov. 2009 à 21:12
c'est énorme ! je suis fan du javascript en fait :p
par contre c'est moi ou le bouton < ne marche pas ?
cs_pierrot01
Messages postés13Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention 9 novembre 2009 8 nov. 2009 à 20:42
Salut ;)
Voila, j'ai transformé ton pti bou de code en grid :D
Je peaufine un peu tout ça, et je le post ;)
en attendant, regardes un peu ce que ça donne, et donnes moi ton avis ;)
tu peu ouvrir autant de grid ou de fenêtres que tu veux.
Pour info, la table comporte 1285 enregistrements.
@+
cs_pierrot01
Messages postés13Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention 9 novembre 2009 8 nov. 2009 à 20:36
Salut ;)
Voila, j'ai transformé ton pti bou de code en grid :D
Je peaufine un peu tout ça, et je le post ;)
en attendant, regardes un peu ce que ça donne, et donnes moi ton avis ;)
tu peu ouvrir autant de grid ou de fenêtres que tu veux.
Pour info, la table comporte 1285 enregistrements.
@+
cs_pierrot01
Messages postés13Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention 9 novembre 2009 28 oct. 2009 à 21:15
Salut,
Vu que je vais utiliser ce bout de code, je ne peut que bien noter ;)
@+
pifou25
Messages postés144Date d'inscriptionlundi 13 octobre 2003StatutMembreDernière intervention21 décembre 2014 28 oct. 2009 à 20:26
je t'en prie fais toi plaisir ;) j'avoue je connais pas du tout Json j'aurais pas trouvé.
pour la réactivité j'ai aucun mérite, je reçois un mail à chaque fois qu'on me met un commentaire. Halala, ça vaut bien une petite note tout ça non? :D
cs_pierrot01
Messages postés13Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention 9 novembre 2009 28 oct. 2009 à 13:11
Salut,
Merci mille fois ;)
Réactivité digne d'une société de sevice performante ;):D
Mais, ca ne me satisfait pas :/
J'ai l'habitude de travailler en notation JSON, qui est bien plus lisible ;).
Et de plus, je suis en train d'écrire un frameworck et les appels au serveur me renvoi du JSON.
Donc, il y a juste une petite modif a faire à ta fonction pour qu'elle fonctionne avec la notation JSON.
Juste une ligne (la premiere) à ajouter a ta fonction.
// variable en notation JSON que me renvoi le serveur
var tabtab="[['ID','Nom','Prénom','Note'],['1','Dupont','Pierre','10'],['2','Dupuit','Francois','400'],['3','Durant','Christopha','500']]";
function CreateTableArray(val) {
if(typeof val=='string'){val=eval('('+val+')');}
// ............................. //
// la suite et on ne change rien //
// ............................. //
}
Et voilou, comme ca, ca fontionne et tout le monde est content.
Merci de m'accorder la permission d'utiliser tes quelques lignes de code dans mon frameworck ;)
@+
pifou25
Messages postés144Date d'inscriptionlundi 13 octobre 2003StatutMembreDernière intervention21 décembre 2014 27 oct. 2009 à 22:40
erreur de débutant :p ... non j'avoue, j'ai pas vu de suite à la lecture, j'ai du le tester chez moi:
c'est la déclaration de ton tableau qui est mal faite, il faut utiliser new Array (et avec la majuscule à Array s'il vous plait!)
var tabtab = new Array(new Array('ID','Name','autre1','autre2'), new Array('1','2','3','4'));
cs_pierrot01
Messages postés13Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention 9 novembre 2009 27 oct. 2009 à 22:25
Salut,
Je ne voudrais surtout pas avoir l'air bête, mais je n'arrive pas a le faire fonctionner.
Partie javascript :
function CreateNewTab(){
var tabtab=['ID','Name','autre1','autre2']['1','2','3','4'];
var obj=document.getElementById('grid2');
obj.appendChild(CreateTableArray(tabtab));
}
Partie HTML :
Et il ne se passe rien :/
@+
cs_vincen
Messages postés2Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention23 septembre 2008 23 sept. 2008 à 18:14
Félicitations,
C'est génial de simplicité !!
J'ai cherché sur le net des idées, des solutions concernant les tables, mais c'est toujours très sophistiqué et plein d'options inutiles, de skins... qu'on passe un temps fou à déactiver. Alors que là c'est beau, c'est simple et rapide.
14 févr. 2012 à 09:26
tout d'abord merci pour ce code, étant plus habitué aux langages impératifs(ASP,Pascal et tout le bordel) cela m'avance beaucoup^^
mais je me demandais, c'est plutôt une question sur le java script, mais serait-il possible de créer un tableau de taille définie par l'utilisateur ?
je pensais à cela : mais il ne s'affiche pas
NbLigne = prompt("Entrez le nombre de lignes : ");
NbColonne = prompt("Entrez le nombre de colonnes : ");
var tabtab = new Array(NbLigne ,NbColonne );
var obj=document.getElementById('grid');
obj.appendChild(CreateTableArray(tabtab));
et tant que j'y suis je ne me gêne pas, mettre un textarea dans chaque cellule du tableau, imaginable ? possible ?
Merci d'avance de votre temps,
Cordialement, Guy
12 oct. 2011 à 19:39
cela m'a l'air super pratique en revanche je n'arrive pas l'utiliser.
j'aurais voulu savoir si c'est possible de passer un array javascript unidimensionnel tout en gardant la possibilité
de pouvoir mettre le nombre de lignes et colonnes que l'on veut.
voila le bout de code ou je charge le array que j'affiche dans un popup (il contient des liens d'images pour faire une galerie), ca fonctionne !
la ou je bloque c'est pour passer le tableau dans la fonction
et l'afficher dans le popup (pas besoin des entêtes)
un tableau de dix colonnes et x lignes (dépend du nombre d'images)
un petit exemple sous forme de code serait le bienvenu car
la je galère vraiment ...si tu peux m'aider ?
Merci beaucoup
F
//--------------------------------------------------------------------------
// génération de la galerie dans un popup
$('a.galerie').click(function(e){
var ell= e.target||event.srcElement;
divchoisi="#"+"div"+ell.id.substr(4);
var tab=new Array()
$(divchoisi + ".stylediv a").each(function() {
tab.push('['+$(this).attr('href')+' '+''+']')
});
w=open("",'popup','width=800,height=400,toolbar=yes,scrollbars=yes,resizable=yes,');
w.document.write('
');
w.document.write('
');
w.document.write(tab);
w.document.write('
');
w.document.write("");
w.document.close();
});
9 nov. 2009 à 21:35
Tout ça est encore en test ;)
c'est vrai que les moches boutons bugués vont disparaitrent pour un meilleur design fonctionnel à 100%.
Mais le principe est là ;)
tiends, voila le code pour faire ce que tu a vu :
Le code HTML et JS :
// function CreateNewGrid(idgrid,divparent,tabtab)
var nbdiv=0;
var page=new Array();
var tabtab= "";
var nbwin=0
function Appel_Ajax(xpage) {
var param="page="+xpage;
new Ajax_request('listindividu.php',{method:'post',params:param,onSuccess:succAjax,onError:ErrorAjax,async:false});
}
function ErrorAjax(xhr) {
alert('error : status =' +xhr.status);
}
function succAjax(xhr) {
tabtab=xhr.responseText
}
function Eventbf(mydiv){
page[mydiv]=1;
Appel_Ajax(page[mydiv]);
RefreshGrid(mydiv,tabtab);
}
function Eventbp(mydiv){
page[mydiv]--;
Appel_Ajax(page[mydiv]);
RefreshGrid(mydiv,tabtab);
}
function Eventbn(mydiv){
page[mydiv]++;
Appel_Ajax(page[mydiv]);
RefreshGrid(mydiv,tabtab);
}
function Eventbl(mydiv){
page[mydiv]=-1;
Appel_Ajax(page[mydiv]);
RefreshGrid(mydiv,tabtab);
}
function ReturnTGrid(dparent){
var xdiv= 'mygrid' + ++nbdiv;
page[xdiv]=1;
Appel_Ajax(page[xdiv]);
var typegrid= { idgrid : xdiv , divparent : dparent ,
tabldata : tabtab,
url : 'mapage.php',
eventbf : function(){Eventbf(xdiv)},
eventbp : function(){Eventbp(xdiv)},
eventbn : function(){Eventbn(xdiv)},
eventbl : function(){Eventbl(xdiv)},
typeobj : "['label','label','label','label','label']",
gwith : 500
};
return typegrid;
}
function CreateNewWin(){
var windiv = "windiv" + ++nbwin;
new popUp(50 , 100 , 510 , 310 , windiv , "" , "white" , "black" , "10pt sans-serif" , "Fenetre test" , "#0F72BB" , "white" , "lightgrey", "#6DBAF3" , "black" , true , true , true , true , false , false , 'min.gif' , 'max.gif' , 'close.gif' , 'resize.gif');
var xx=ReturnTGrid(windiv+'_c');
CreateNewGrid(xx);
}
et le code PHP
Voilou, faut pas grand chose pour faire du booooooo :D
a++
9 nov. 2009 à 21:13
les fenêtres c'est fun aussi ^^
9 nov. 2009 à 21:12
par contre c'est moi ou le bouton < ne marche pas ?
8 nov. 2009 à 20:42
Voila, j'ai transformé ton pti bou de code en grid :D
Je peaufine un peu tout ça, et je le post ;)
en attendant, regardes un peu ce que ça donne, et donnes moi ton avis ;)
http://safbiturbo.free.fr/grid/test3.html
tu peu ouvrir autant de grid ou de fenêtres que tu veux.
Pour info, la table comporte 1285 enregistrements.
@+
8 nov. 2009 à 20:36
Voila, j'ai transformé ton pti bou de code en grid :D
Je peaufine un peu tout ça, et je le post ;)
en attendant, regardes un peu ce que ça donne, et donnes moi ton avis ;)
http://safbiturbo.free.fr/grid/test3.html
tu peu ouvrir autant de grid ou de fenêtres que tu veux.
Pour info, la table comporte 1285 enregistrements.
@+
28 oct. 2009 à 21:15
Vu que je vais utiliser ce bout de code, je ne peut que bien noter ;)
@+
28 oct. 2009 à 20:26
pour la réactivité j'ai aucun mérite, je reçois un mail à chaque fois qu'on me met un commentaire. Halala, ça vaut bien une petite note tout ça non? :D
28 oct. 2009 à 13:11
Merci mille fois ;)
Réactivité digne d'une société de sevice performante ;):D
Mais, ca ne me satisfait pas :/
J'ai l'habitude de travailler en notation JSON, qui est bien plus lisible ;).
Et de plus, je suis en train d'écrire un frameworck et les appels au serveur me renvoi du JSON.
Donc, il y a juste une petite modif a faire à ta fonction pour qu'elle fonctionne avec la notation JSON.
Juste une ligne (la premiere) à ajouter a ta fonction.
// variable en notation JSON que me renvoi le serveur
var tabtab="[['ID','Nom','Prénom','Note'],['1','Dupont','Pierre','10'],['2','Dupuit','Francois','400'],['3','Durant','Christopha','500']]";
function CreateTableArray(val) {
if(typeof val=='string'){val=eval('('+val+')');}
// ............................. //
// la suite et on ne change rien //
// ............................. //
}
Et voilou, comme ca, ca fontionne et tout le monde est content.
Merci de m'accorder la permission d'utiliser tes quelques lignes de code dans mon frameworck ;)
@+
27 oct. 2009 à 22:40
c'est la déclaration de ton tableau qui est mal faite, il faut utiliser new Array (et avec la majuscule à Array s'il vous plait!)
var tabtab = new Array(new Array('ID','Name','autre1','autre2'), new Array('1','2','3','4'));
27 oct. 2009 à 22:25
Je ne voudrais surtout pas avoir l'air bête, mais je n'arrive pas a le faire fonctionner.
Partie javascript :
function CreateNewTab(){
var tabtab=['ID','Name','autre1','autre2']['1','2','3','4'];
var obj=document.getElementById('grid2');
obj.appendChild(CreateTableArray(tabtab));
}
Partie HTML :
Et il ne se passe rien :/
@+
23 sept. 2008 à 18:14
C'est génial de simplicité !!
J'ai cherché sur le net des idées, des solutions concernant les tables, mais c'est toujours très sophistiqué et plein d'options inutiles, de skins... qu'on passe un temps fou à déactiver. Alors que là c'est beau, c'est simple et rapide.
Vive le javascript.
Vincent