j'aimerai créer une liste <select> proposant à l'utilisateur divers
choix de thème css pour l'affichage d'un site web. Le choix se fait
uniquement sur la page d'accueil, puis est mémorisé via cookie sur le
disque dur utilisateur.
Ainsi, sur chaque page une petite vérification du cookie permet
l'affichage du style demandé.
cependant ceci m'amène à quelques inconvénients que je ne parviens pas
à résoudre.
1) La fonction chargée de vérifier le cookie est appelée sur un
évènement onLoad de la balise <body> de mon document html, et à chaque
chargement de la page, je vois pendant un temps très bref le style par
défaut... j'aimerai que le style choisi par l'utilisateur (donc celui
enregistré dans le cookie) soit affiché dès le début, existe-t-il un
moyen de faire ça ?
2) lorsque l'utilisateur choisi un thème via le <select> et qu'il
change de page, pour enfin revenir sur la page où se trouve le select,
celui ci réaffiche l'item par défaut, et non celui sélectionné par ses
soins (i.e. celui correspondant au thème affiché), je n'ai pas trouvé
le moyen en javascript de choisir l'item affiché dans un select...
est-ce possible ?
tout ceci m'apporte a croire que ce que je veux faire n'est pas
possible en javascript ? vrai ? faux ?
j'aimerai créer une liste <select> proposant à l'utilisateur divers choix de thème css pour l'affichage d'un site web. Le choix se fait uniquement sur la page d'accueil, puis est mémorisé via cookie sur le disque dur utilisateur.
Ainsi, sur chaque page une petite vérification du cookie permet l'affichage du style demandé.
cependant ceci m'amène à quelques inconvénients que je ne parviens pas à résoudre.
1) La fonction chargée de vérifier le cookie est appelée sur un évènement onLoad de la balise <body> de mon document html, et à chaque chargement de la page, je vois pendant un temps très bref le style par défaut... j'aimerai que le style choisi par l'utilisateur (donc celui enregistré dans le cookie) soit affiché dès le début, existe-t-il un moyen de faire ça ?
2) lorsque l'utilisateur choisi un thème via le <select> et qu'il change de page, pour enfin revenir sur la page où se trouve le select, celui ci réaffiche l'item par défaut, et non celui sélectionné par ses soins (i.e. celui correspondant au thème affiché), je n'ai pas trouvé le moyen en javascript de choisir l'item affiché dans un select... est-ce possible ?
tout ceci m'apporte a croire que ce que je veux faire n'est pas possible en javascript ? vrai ? faux ?
je vous remercie d'avance de votre aide.
bon surf a+
pour résumer j'aimerai faire comme sur ce site : http://openweb.eu.org/ et pour le moment j'ai :
http://nicolas.aunai.free.fr
-- nico http://nicolas.aunai.free.fr
salut,
j'aimerai créer une liste <select> proposant à l'utilisateur divers choix de
thème css pour l'affichage d'un site web. Le choix se fait uniquement sur la
page d'accueil, puis est mémorisé via cookie sur le disque dur utilisateur.
Ainsi, sur chaque page une petite vérification du cookie permet l'affichage
du style demandé.
cependant ceci m'amène à quelques inconvénients que je ne parviens pas à
résoudre.
1) La fonction chargée de vérifier le cookie est appelée sur un évènement
onLoad de la balise <body> de mon document html, et à chaque chargement de la
page, je vois pendant un temps très bref le style par défaut... j'aimerai que
le style choisi par l'utilisateur (donc celui enregistré dans le cookie) soit
affiché dès le début, existe-t-il un moyen de faire ça ?
2) lorsque l'utilisateur choisi un thème via le <select> et qu'il change de
page, pour enfin revenir sur la page où se trouve le select, celui ci
réaffiche l'item par défaut, et non celui sélectionné par ses soins (i.e.
celui correspondant au thème affiché), je n'ai pas trouvé le moyen en
javascript de choisir l'item affiché dans un select... est-ce possible ?
tout ceci m'apporte a croire que ce que je veux faire n'est pas possible en
javascript ? vrai ? faux ?
je vous remercie d'avance de votre aide.
bon surf
a+
pour résumer j'aimerai faire comme sur ce site :
http://openweb.eu.org/
et pour le moment j'ai :
j'aimerai créer une liste <select> proposant à l'utilisateur divers choix de thème css pour l'affichage d'un site web. Le choix se fait uniquement sur la page d'accueil, puis est mémorisé via cookie sur le disque dur utilisateur.
Ainsi, sur chaque page une petite vérification du cookie permet l'affichage du style demandé.
cependant ceci m'amène à quelques inconvénients que je ne parviens pas à résoudre.
1) La fonction chargée de vérifier le cookie est appelée sur un évènement onLoad de la balise <body> de mon document html, et à chaque chargement de la page, je vois pendant un temps très bref le style par défaut... j'aimerai que le style choisi par l'utilisateur (donc celui enregistré dans le cookie) soit affiché dès le début, existe-t-il un moyen de faire ça ?
2) lorsque l'utilisateur choisi un thème via le <select> et qu'il change de page, pour enfin revenir sur la page où se trouve le select, celui ci réaffiche l'item par défaut, et non celui sélectionné par ses soins (i.e. celui correspondant au thème affiché), je n'ai pas trouvé le moyen en javascript de choisir l'item affiché dans un select... est-ce possible ?
tout ceci m'apporte a croire que ce que je veux faire n'est pas possible en javascript ? vrai ? faux ?
je vous remercie d'avance de votre aide.
bon surf a+
pour résumer j'aimerai faire comme sur ce site : http://openweb.eu.org/ et pour le moment j'ai :
http://nicolas.aunai.free.fr
-- nico http://nicolas.aunai.free.fr
Thibaut Allender
1) La fonction chargée de vérifier le cookie est appelée sur un évènement onLoad de la balise <body> de mon document html, et à chaque chargement de la page, je vois pendant un temps très bref le style par défaut... j'aimerai que le style choisi par l'utilisateur (donc celui enregistré dans le cookie) soit affiché dès le début, existe-t-il un moyen de faire ça ?
avec un script externe appelé dans le <head>, ca ne fonctionne pas mieux ?
2) lorsque l'utilisateur choisi un thème via le <select> et qu'il change de page, pour enfin revenir sur la page où se trouve le select, celui ci réaffiche l'item par défaut, et non celui sélectionné par ses soins (i.e. celui correspondant au thème affiché), je n'ai pas trouvé le moyen en javascript de choisir l'item affiché dans un select... est-ce possible ?
oui, avec ceci par exemple : document.getElementById('id_du_select').selelecedIndex = 'value';
tout ceci m'apporte a croire que ce que je veux faire n'est pas possible en javascript ? vrai ? faux ?
faut voir, mais c'est vrai qu'une gestion du cookie côté serveur sera "plus simple"
1) La fonction chargée de vérifier le cookie est appelée sur un
évènement onLoad de la balise <body> de mon document html, et à chaque
chargement de la page, je vois pendant un temps très bref le style par
défaut... j'aimerai que le style choisi par l'utilisateur (donc celui
enregistré dans le cookie) soit affiché dès le début, existe-t-il un
moyen de faire ça ?
avec un script externe appelé dans le <head>, ca ne fonctionne pas mieux ?
2) lorsque l'utilisateur choisi un thème via le <select> et qu'il change
de page, pour enfin revenir sur la page où se trouve le select, celui ci
réaffiche l'item par défaut, et non celui sélectionné par ses soins
(i.e. celui correspondant au thème affiché), je n'ai pas trouvé le moyen
en javascript de choisir l'item affiché dans un select... est-ce possible ?
oui, avec ceci par exemple :
document.getElementById('id_du_select').selelecedIndex = 'value';
tout ceci m'apporte a croire que ce que je veux faire n'est pas possible
en javascript ? vrai ? faux ?
faut voir, mais c'est vrai qu'une gestion du cookie côté serveur sera
"plus simple"
1) La fonction chargée de vérifier le cookie est appelée sur un évènement onLoad de la balise <body> de mon document html, et à chaque chargement de la page, je vois pendant un temps très bref le style par défaut... j'aimerai que le style choisi par l'utilisateur (donc celui enregistré dans le cookie) soit affiché dès le début, existe-t-il un moyen de faire ça ?
avec un script externe appelé dans le <head>, ca ne fonctionne pas mieux ?
2) lorsque l'utilisateur choisi un thème via le <select> et qu'il change de page, pour enfin revenir sur la page où se trouve le select, celui ci réaffiche l'item par défaut, et non celui sélectionné par ses soins (i.e. celui correspondant au thème affiché), je n'ai pas trouvé le moyen en javascript de choisir l'item affiché dans un select... est-ce possible ?
oui, avec ceci par exemple : document.getElementById('id_du_select').selelecedIndex = 'value';
tout ceci m'apporte a croire que ce que je veux faire n'est pas possible en javascript ? vrai ? faux ?
faut voir, mais c'est vrai qu'une gestion du cookie côté serveur sera "plus simple"
j'aimerai créer une liste <select> proposant à l'utilisateur divers choix de thème css pour l'affichage d'un site web. Le choix se fait uniquement sur la page d'accueil, puis est mémorisé via cookie sur le disque dur utilisateur.
Ainsi, sur chaque page une petite vérification du cookie permet l'affichage du style demandé.
cependant ceci m'amène à quelques inconvénients que je ne parviens pas à résoudre.
1) La fonction chargée de vérifier le cookie est appelée sur un évènement onLoad de la balise <body> de mon document html, et à chaque chargement de la page, je vois pendant un temps très bref le style par défaut... j'aimerai que le style choisi par l'utilisateur (donc celui enregistré dans le cookie) soit affiché dès le début, existe-t-il un moyen de faire ça ?
La réponse est dans ta question ! Place l'appel à ton script dans la balise <head> (soit directement à la fin de ton fichier js, soit en ajoutant un script contenant l'appel à ta fonction. Si c'est dans la balise head le style devrait être chargé avant que la page ne soit dessinée.
2) lorsque l'utilisateur choisi un thème via le <select> et qu'il change de page, pour enfin revenir sur la page où se trouve le select, celui ci réaffiche l'item par défaut, et non celui sélectionné par ses soins (i.e. celui correspondant au thème affiché), je n'ai pas trouvé le moyen en javascript de choisir l'item affiché dans un select... est-ce possible ?
Tu testes la valeur mémorisée, tu recherches l'option de ton select correspondante et tu lui ajoutes l'attribut selected : lOption.selected=true
tout ceci m'apporte a croire que ce que je veux faire n'est pas possible en javascript ? vrai ? faux ?
Faux donc. Bien que pour ce qui est manipulation de cookie, l'habitude est plutôt de traiter côté serveur (et le placement du selected dans la balise idoine aussi) mais pour ce que tu veux faire, ce n'est pas forcément nécessaire de passer par PHP.
-- Y.D.
j'aimerai créer une liste <select> proposant à l'utilisateur divers
choix de thème css pour l'affichage d'un site web. Le choix se fait
uniquement sur la page d'accueil, puis est mémorisé via cookie sur le
disque dur utilisateur.
Ainsi, sur chaque page une petite vérification du cookie permet
l'affichage du style demandé.
cependant ceci m'amène à quelques inconvénients que je ne parviens pas à
résoudre.
1) La fonction chargée de vérifier le cookie est appelée sur un
évènement onLoad de la balise <body> de mon document html, et à chaque
chargement de la page, je vois pendant un temps très bref le style par
défaut... j'aimerai que le style choisi par l'utilisateur (donc celui
enregistré dans le cookie) soit affiché dès le début, existe-t-il un
moyen de faire ça ?
La réponse est dans ta question ! Place l'appel à ton script dans la balise
<head> (soit directement à la fin de ton fichier js, soit en ajoutant un
script contenant l'appel à ta fonction. Si c'est dans la balise head le
style devrait être chargé avant que la page ne soit dessinée.
2) lorsque l'utilisateur choisi un thème via le <select> et qu'il change
de page, pour enfin revenir sur la page où se trouve le select, celui ci
réaffiche l'item par défaut, et non celui sélectionné par ses soins
(i.e. celui correspondant au thème affiché), je n'ai pas trouvé le moyen
en javascript de choisir l'item affiché dans un select... est-ce possible ?
Tu testes la valeur mémorisée, tu recherches l'option de ton select
correspondante et tu lui ajoutes l'attribut selected :
lOption.selected=true
tout ceci m'apporte a croire que ce que je veux faire n'est pas possible
en javascript ? vrai ? faux ?
Faux donc. Bien que pour ce qui est manipulation de cookie, l'habitude est
plutôt de traiter côté serveur (et le placement du selected dans la balise
idoine aussi) mais pour ce que tu veux faire, ce n'est pas forcément
nécessaire de passer par PHP.
j'aimerai créer une liste <select> proposant à l'utilisateur divers choix de thème css pour l'affichage d'un site web. Le choix se fait uniquement sur la page d'accueil, puis est mémorisé via cookie sur le disque dur utilisateur.
Ainsi, sur chaque page une petite vérification du cookie permet l'affichage du style demandé.
cependant ceci m'amène à quelques inconvénients que je ne parviens pas à résoudre.
1) La fonction chargée de vérifier le cookie est appelée sur un évènement onLoad de la balise <body> de mon document html, et à chaque chargement de la page, je vois pendant un temps très bref le style par défaut... j'aimerai que le style choisi par l'utilisateur (donc celui enregistré dans le cookie) soit affiché dès le début, existe-t-il un moyen de faire ça ?
La réponse est dans ta question ! Place l'appel à ton script dans la balise <head> (soit directement à la fin de ton fichier js, soit en ajoutant un script contenant l'appel à ta fonction. Si c'est dans la balise head le style devrait être chargé avant que la page ne soit dessinée.
2) lorsque l'utilisateur choisi un thème via le <select> et qu'il change de page, pour enfin revenir sur la page où se trouve le select, celui ci réaffiche l'item par défaut, et non celui sélectionné par ses soins (i.e. celui correspondant au thème affiché), je n'ai pas trouvé le moyen en javascript de choisir l'item affiché dans un select... est-ce possible ?
Tu testes la valeur mémorisée, tu recherches l'option de ton select correspondante et tu lui ajoutes l'attribut selected : lOption.selected=true
tout ceci m'apporte a croire que ce que je veux faire n'est pas possible en javascript ? vrai ? faux ?
Faux donc. Bien que pour ce qui est manipulation de cookie, l'habitude est plutôt de traiter côté serveur (et le placement du selected dans la balise idoine aussi) mais pour ce que tu veux faire, ce n'est pas forcément nécessaire de passer par PHP.
je proteste... c'est moi qui t'ai grillé, et de 3 minutes :)
From: YD Date: Sat, 04 Jun 2005 19:09:44 +0200
From: Thibaut Allender
Date: Sat, 04 Jun 2005 19:06:29 +0200
On doit pas avoir les mêmes dates :/
Sinon, pour revenir à nos moutons, je ne sais pas ce qui fonctionne le mieux pour definir la valeur selected d'un select...
J'ai d'ailleurs remarqué que la constitution d'un select à la volée en JS ne permettait pas de specifier un attribut selected sous IE windows (3e parametre de new Option), qui semble être ignoré... Ca fonctionne par contre très bien sous Mozilla.
Sinon, pour revenir à nos moutons, je ne sais pas ce qui fonctionne le
mieux pour definir la valeur selected d'un select...
J'ai d'ailleurs remarqué que la constitution d'un select à la volée en
JS ne permettait pas de specifier un attribut selected sous IE windows
(3e parametre de new Option), qui semble être ignoré... Ca fonctionne
par contre très bien sous Mozilla.
je proteste... c'est moi qui t'ai grillé, et de 3 minutes :)
From: YD Date: Sat, 04 Jun 2005 19:09:44 +0200
From: Thibaut Allender
Date: Sat, 04 Jun 2005 19:06:29 +0200
On doit pas avoir les mêmes dates :/
Sinon, pour revenir à nos moutons, je ne sais pas ce qui fonctionne le mieux pour definir la valeur selected d'un select...
J'ai d'ailleurs remarqué que la constitution d'un select à la volée en JS ne permettait pas de specifier un attribut selected sous IE windows (3e parametre de new Option), qui semble être ignoré... Ca fonctionne par contre très bien sous Mozilla.
je proteste... c'est moi qui t'ai grillé, et de 3 minutes :)
Je maintiens, d'après l'en-tête NNTP-Posting-Date...
Sinon, pour revenir à nos moutons, je ne sais pas ce qui fonctionne le mieux pour definir la valeur selected d'un select...
J'ai d'ailleurs remarqué que la constitution d'un select à la volée en JS ne permettait pas de specifier un attribut selected sous IE windows (3e parametre de new Option), qui semble être ignoré... Ca fonctionne par contre très bien sous Mozilla.
Il me semble me souvenir d'un fil là-dessus où on avait remarqué qu'il valait mieux positionner les attributs *après* l'insertion dans le document pour IE et ne pas utiliser setAttribute mais la propriété DOM0 (qui existe toujours dans DOM2). Est-ce ainsi que tu as procédé ?
-- Y.D.
Désolé, je t'ai "grillé" de 45 secondes 8-)
je proteste... c'est moi qui t'ai grillé, et de 3 minutes :)
Je maintiens, d'après l'en-tête NNTP-Posting-Date...
Sinon, pour revenir à nos moutons, je ne sais pas ce qui fonctionne le
mieux pour definir la valeur selected d'un select...
J'ai d'ailleurs remarqué que la constitution d'un select à la volée en
JS ne permettait pas de specifier un attribut selected sous IE windows
(3e parametre de new Option), qui semble être ignoré... Ca fonctionne
par contre très bien sous Mozilla.
Il me semble me souvenir d'un fil là-dessus où on avait remarqué qu'il
valait mieux positionner les attributs *après* l'insertion dans le document
pour IE et ne pas utiliser setAttribute mais la propriété DOM0 (qui
existe toujours dans DOM2). Est-ce ainsi que tu as procédé ?
je proteste... c'est moi qui t'ai grillé, et de 3 minutes :)
Je maintiens, d'après l'en-tête NNTP-Posting-Date...
Sinon, pour revenir à nos moutons, je ne sais pas ce qui fonctionne le mieux pour definir la valeur selected d'un select...
J'ai d'ailleurs remarqué que la constitution d'un select à la volée en JS ne permettait pas de specifier un attribut selected sous IE windows (3e parametre de new Option), qui semble être ignoré... Ca fonctionne par contre très bien sous Mozilla.
Il me semble me souvenir d'un fil là-dessus où on avait remarqué qu'il valait mieux positionner les attributs *après* l'insertion dans le document pour IE et ne pas utiliser setAttribute mais la propriété DOM0 (qui existe toujours dans DOM2). Est-ce ainsi que tu as procédé ?
-- Y.D.
nico
Thibaut Allender avait prétendu :
oui, avec ceci par exemple : document.getElementById('id_du_select').selelecedIndex = 'value';
euh marche pas...
function set_combo() { var val=GetCookie('valeur'); alert(val); document.getElementById('set').selectedIndex = val; }
'val' est bien lu dans le cookie, car bien affichée en messageBox.. en revanche la combo ne change pas ed valeur...
-- nico http://nicolas.aunai.free.fr
Thibaut Allender avait prétendu :
oui, avec ceci par exemple :
document.getElementById('id_du_select').selelecedIndex = 'value';
euh marche pas...
function set_combo()
{
var val=GetCookie('valeur');
alert(val);
document.getElementById('set').selectedIndex = val;
}
'val' est bien lu dans le cookie, car bien affichée en messageBox..
en revanche la combo ne change pas ed valeur...
oui, avec ceci par exemple : document.getElementById('id_du_select').selelecedIndex = 'value';
euh marche pas...
function set_combo() { var val=GetCookie('valeur'); alert(val); document.getElementById('set').selectedIndex = val; }
'val' est bien lu dans le cookie, car bien affichée en messageBox.. en revanche la combo ne change pas ed valeur...
-- nico http://nicolas.aunai.free.fr
nico
Il se trouve que YD a formulé :
Tu testes la valeur mémorisée, tu recherches l'option de ton select correspondante et tu lui ajoutes l'attribut selected : lOption.selected=true
et bien, c'est une autre solution que celle du selectedIndex = value de thibaut, mais elle ne marche pas plus... ou alors je fais un truc mal mais j'ai des doutes sur ça :-/
function set_combo() { var val=GetCookie('valeur'); var num=GetCookie('index'); alert(num); document.form.set.options[num].selected = true; //document.getElementById('set').selectedIndex = val; }
j'ai créé un nouveau cookie 'index' pour stocker l'index de l'option sélectionné par l'utilisateur, je le lis, et là l'alert(num) marche bien, donc le numéro est lisible à cet endroit...
ensuite le : document.form.set.options[num].selected = true; ne semble pas marcher...
pourtant je suis a peu près sûr de la syntaxe utilisée...
-- nico http://nicolas.aunai.free.fr
Il se trouve que YD a formulé :
Tu testes la valeur mémorisée, tu recherches l'option de ton select
correspondante et tu lui ajoutes l'attribut selected :
lOption.selected=true
et bien, c'est une autre solution que celle du selectedIndex = value de
thibaut, mais elle ne marche pas plus... ou alors je fais un truc mal
mais j'ai des doutes sur ça :-/
function set_combo()
{
var val=GetCookie('valeur');
var num=GetCookie('index');
alert(num);
document.form.set.options[num].selected = true;
//document.getElementById('set').selectedIndex = val;
}
j'ai créé un nouveau cookie 'index' pour stocker l'index de l'option
sélectionné par l'utilisateur, je le lis, et là l'alert(num) marche
bien, donc le numéro est lisible à cet endroit...
ensuite le :
document.form.set.options[num].selected = true;
ne semble pas marcher...
pourtant je suis a peu près sûr de la syntaxe utilisée...
Tu testes la valeur mémorisée, tu recherches l'option de ton select correspondante et tu lui ajoutes l'attribut selected : lOption.selected=true
et bien, c'est une autre solution que celle du selectedIndex = value de thibaut, mais elle ne marche pas plus... ou alors je fais un truc mal mais j'ai des doutes sur ça :-/
function set_combo() { var val=GetCookie('valeur'); var num=GetCookie('index'); alert(num); document.form.set.options[num].selected = true; //document.getElementById('set').selectedIndex = val; }
j'ai créé un nouveau cookie 'index' pour stocker l'index de l'option sélectionné par l'utilisateur, je le lis, et là l'alert(num) marche bien, donc le numéro est lisible à cet endroit...
ensuite le : document.form.set.options[num].selected = true; ne semble pas marcher...
pourtant je suis a peu près sûr de la syntaxe utilisée...
-- nico http://nicolas.aunai.free.fr
Thibaut Allender
function set_combo() { var val=GetCookie('valeur'); alert(val); document.getElementById('set').selectedIndex = val; }
'val' est bien lu dans le cookie, car bien affichée en messageBox.. en revanche la combo ne change pas ed valeur...
je me suis trompé, il ne faut pas lui specifier la valeur de l'option, mais son index, donc entre 0 et nombre de valeurs moins 1