karlax
Messages postés1Date d'inscriptionmercredi 23 février 2011StatutMembreDernière intervention27 février 2011
-
27 févr. 2011 à 18:10
007Julien
Messages postés276Date d'inscriptionmercredi 22 septembre 2010StatutMembreDernière intervention 8 janvier 2014
-
28 févr. 2011 à 23:37
Bonjour,
Je cherche à mettre un sélecteur de date pour un formulaire destiné à être utilisé en local pour un "PME".
N'y connaissant pas grand chose, voire même rien en fait ^^', j'ai trouvé un calendrier sur le net qui correspond a ce dont j'ai besoin (le côté austère aussi correspond bien lol)
J'aimerai pouvoir modifier le jour de début de la semaine, pour l'instant la semaine commence le dimanche, comment pourrais je faire pour que la semaine commence le lundi ?
la partie à modifier semble être celle là
var first_day = ds_dc_date.getDay();
var first_loop = 1;
ds_echo (ds_template_new_week());
if (first_day != 0) {
ds_echo (ds_template_blank_cell(first_day));
}
var j = first_day;
for (i = 0; i < days; i ++) {
if (j == 0 && !first_loop) {
ds_echo (ds_template_new_week());
}
ds_echo (ds_template_day(i + 1, m, y));
first_loop = 0;
j ++;
j %= 7;
.ds_tbl {
background-color: #80797F; // couleur jour hors mois en cours
}
.ds_head {
background-color: #EC8601; // couleur fermer et nom mois en cours
color: #FFF;
font-family: Book antica;
font-size: 14px;
font-weight: bold;
text-align: center;
letter-spacing: 2px;
}
.ds_subhead {
background-color: #F3ED47; // couleur nom jours de la semaine
color: #000;
font-size: 12px;
font-weight: bold;
text-align: center;
font-family: Book antica;
width: 32px;
}
.ds_cell {
background-color: #ECCCD1; // couleur numéros jours du mois
color: #000;
font-size: 13px;
font-weight: bold;
text-align: center;
font-family: Book antica;
padding: 5px;
cursor: pointer;
}
.ds_cell:hover {
background-color: #E101BB;
}
</style>
</head>
<script type="text/javascript">
var ds_i_date = new Date();
ds_c_month = ds_i_date.getMonth() + 1;
ds_c_year = ds_i_date.getFullYear();
function ds_getel(id) {
return document.getElementById(id);
}
function ds_getleft(el) {
var tmp = el.offsetLeft;
el = el.offsetParent
while(el) {
tmp += el.offsetLeft;
el = el.offsetParent;
}
return tmp;
}
function ds_gettop(el) {
var tmp = el.offsetTop;
el = el.offsetParent
while(el) {
tmp += el.offsetTop;
el = el.offsetParent;
}
return tmp;
}
var ds_oe = ds_getel('ds_calclass');
var ds_ce = ds_getel('ds_conclass');
var ds_ob = '';
function ds_ob_clean() {
ds_ob = '';
}
function ds_ob_flush() {
ds_oe.innerHTML = ds_ob;
ds_ob_clean();
}
function ds_echo(t) {
ds_ob += t;
}
007Julien
Messages postés276Date d'inscriptionmercredi 22 septembre 2010StatutMembreDernière intervention 8 janvier 20144 28 févr. 2011 à 23:37
Deux modifications sont à opérer
// Décaler les jours de la semaine en remplaçant
for (i=0;i<7;i++){ds_echo (ds_template_day_row(ds_daynames[i]));}
// par
for (i=0;i<7;i++){ds_echo (ds_template_day_row(ds_daynames[(i+1)%7]));}
// Décaler le premier jour en modifiant
var first_day = ds_dc_date.getDay();
// pour écrire
var first_day = (ds_dc_date.getDay()+6)%7;
Le code mériterait cependant quelques optimisations...
// En remplaçant par exemple les horribles lignes suivantes
if (m 1 || m 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) {
days = 31;
} else if (m 4 || m 6 || m == 9 || m == 11) {
days = 30;
} else {
days ((y % 400 0 || y % 4 == 0 && y % 100 != 0) ? 29 : 28); }
// par la simple instruction
days=new Date(y,m,0).getDate(0);
Le nombre de jour d'un mois est, en effet, donné par le quantième de son dernier jour correspondant, en javascript, au jour 0 du mois suivant.