Calendrier dans un formulaire

cs_alain44 Messages postés 1 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 16 janvier 2005 - 16 janv. 2005 à 16:21
mohamedsekak Messages postés 1 Date d'inscription jeudi 11 août 2011 Statut Membre Dernière intervention 11 août 2011 - 11 août 2011 à 15:47
salut
je souhaite ajouter un calendrier pour une date d'arrivée et de départ dans un formulaire sur
http://bblezebre.com/formulaire/index3.php
les calendriers s'affichent mais ne fonctionnent que lorqu'un seul est en ligne, l'autre crée un conflit. J'ai pris le script sur MyCalendar v1.1 par Pascal Manon

Pouvez-vous m'aider ou si vous avez mieux, je suis preneur. Merci

Alain

3 réponses

arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
17 janv. 2005 à 09:53
Lors de l'appel à la popup du calendrier, il y a 3 paramètres dans la fonction javascript window.open(param1, param2, param3) :
param1 : c'est l'url à ouvrir
param2 : c'est le nom de la fenêtre que l'on ouvre
param3 (optionnel) : détails sur la position et les dimensions de la fenêtre.

Si à chaque appel de cette fonction, tu utilises le même nom (param2), l'url sera ouverte dans une fenêtre existante. Si tu veux tjs ouvrir une nouvelle fenêtre, utilise "_blank" :
window.open(param1, "_blank", param3)

Dans ton cas, tu peux simplement mettre 2 noms différents, par exemple

et

Je pense que ça devrairt fonctionner ainsi.
Bon dev//
Arnaud
0
patrizio_00186 Messages postés 1 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 6 avril 2006
6 avril 2006 à 09:40
Bonjour,

Je suis débutant et j'utilise aussi le script MyCalendar que j'ai un peu modifié pour entrer dans un formulaire deux dates, l'une d'arrivée, l'autre de départ. Jusque là tout fonctionne.

Mais je souhaiterais empêcher la sélection des jours qui précèdent celui de la consultation ? Ensuite, j'aimerais que lors de la saisie dans mon fichier nommé Calendrier_01.php de la date d'arrivée , la valeur $arrivee aille directement dans Calendrier_02.php et que celui-ci s'ouvre à cette même date.

Celà faciliterait la saisie tout en éviterant de vérifier que la datte de départ $depart de Calendrier_02.php n'est pas inférieure à celle d'arrivée $arrivee saisie dans Calendrier_01.php. Actuellement j'arrive juste à vérifier que la date choisie ne soit pas inférieure à celle du jour de consultation. Pour le reste, je sais pas faire

Si quelqu'un pouvait m'éclairer, je lui serais très reconnaissant. D'avance merci.

A tout hasard, voici le script de Calendrier_01.php


<?php

// Section de configuration
$bgcolor
= "EEDDFF"
;
// Couleur de fond
$daybgcolor
="9DA4FF"
;
// Couleur des jours de la semaine
$dombgcolor
= "FFFFFF"
;
// Couleur du jour sélectionné
$dayholcolor
="EEDDFF"
;
// Couleur des WE

// Mois
$month
= array
( "janvier"
, "février"
, "mars"
, "avril"
, "mai"
, "juin"
, "juillet"
, "août"
, "septembre"
, "octobre"
, "novembre"
, "décembre"
);

// Semaine
$day
= array
("Di"
, "Lu"
, "Ma"
, "Me"
, "Je"
, "Ve"
, "Sa"
);

// Message d'erreur
$error01
= "Date invalide"

?>
<html>
<head>

<style>

#semaine {
font-family:
verdana;
color: #003399;
font-size: 9pt;}

#general {
font-family:
verdana;
font-size: 9pt;}

a:link,
a:active,
a:visited {
text-decoration:
none;
color:#000000;}

a:hover {
text-decoration:
underline;
color:#000000;}
</style>

<script language ='JavaScript'>
window
.resizeTo
(200,290)
;

function modifier
(jour
)
{
window
.location
.href
"calendrier_01.php?form<?echo $form;?>&elem=<?echo $elem;?>&mois="
+ document
.forms
["MyCalendar"
].elements
['month'
].options
[document
.forms
["MyCalendar"
].elements
['month'
].selectedIndex
].value
+ "&jour ="
+ jour
+"&annee= "
+ document
.forms
[ "MyCalendar"
].elements
['year'
].options
[document
.forms
["MyCalendar"
].elements
['year'
].selectedIndex
].value
}

<?php

if
(!isset
($jour
))
$jour
= date
("j"
)
;

if
(!isset
($mois
))
$mois
= date
( "m"
)
;

if
(!isset
($annee
))
$annee
= date
("Y"
)
;

// nombre de jours par mois
$nbjmonth
[0]
=
31
;
$nbjmonth
[1]
=
($annee
%4= =0?( $annee
%100 == 0?( $annee
%400?29:28):29):28)
;
$nbjmonth
[2]
=
31
;
$nbjmonth
[3]
=
30
;
$nbjmonth
[4]
=
31
;
$nbjmonth
[5]
=
30
;
$nbjmonth
[6]
=
31;
$nbjmonth
[7]
=
31
;
$nbjmonth
[8]
=
30
;
$nbjmonth
[9]
=
31
;
$nbjmonth
[10]
=
30
;
$nbjmonth
[11]
=
31
;

if (!checkdate
($mois
,$jour
,$annee
))

{

echo "alert(' $error01')\n"
;
$jour
= date
("j"
)
;
$mois
= date
( "m"
)
;
$annee
= date
("Y"
)
;

}

?>
</script>
</head>

<?

echo "$bgcolor' onUnLoad= ''>\n"
;

echo "<center><form name ='MyCalendar'>\n"
;

echo "\n\"
;

// Affichage de la sélection du mois

echo \"<select name = 'month' onChange= \"modifier($jour)\">\n"
;

for
($i
=0;$i
<12;$i
++)

{

echo "<option value='"
.($i
+1)."'"
.($mois
($i
+1)?" selected"
:""
).">"
.$month
[$i
]."</option>\n"
;
$nmois
= $month
[$mois
-1];
// Le nom du mois est affecté à la variable $nmois pour la saisie finale

}

echo "</select>, \n\"

;

echo \"<select name ='year' onChange= \"modifier($jour)\">\n"
;

// Affichage des années: avant l'année en cours 0, après 3
$y
= date
("Y"
)
;

for
($i
=$y
-0;$i
<$y
+3;$i
++)

{

echo "<option value='$i'"
.($annee
($i
)?" selected"
:""
).">$i</option>\n"
;

}

echo "</select>, ----
&nbsp;, \n\"
;

echo \"----
<table width ='100%' cellspacing= '0' cellspading='0' border='0'>\n"
;

echo "----
\n"
;

// Affichage des jours et style font/couleur: ici bold

for($i
=0;$i
<7;$i
++)

{

echo ", \"

.$day
[$i
]. \"
</td>\" ;

}

echo \"\n----
, \n----
\n\"

;

// Première ligne des jours
$j
= date
(\"w\"
, mktime
(0,0,0,$mois
,1,$annee
))
;
$dom
=
1
;

for
($i
=0;$i
<7;$i
++)

{

if
($j
<= $i
)

{

echo \".($dom
== $jour
?" bgcolor='#$dombgcolor'"
:""
).">"
.$dom
++."
, \n\" ;

}

else

echo \"&nbsp;, \n\"
;

}

echo \"\n\"
;

// Le reste

for
($i
=0;$i
<5;$i
++)

{

echo \"----
\n\"

;

for
($j
= 0; $j
<7;$j
++)

{
$j_inac (<gras>$j</gras> =0
|| $j
== 6)
;

if ($dom
< $nbjmonth
[($mois
-1)])

echo \".($dom
== $jour
?" bgcolor='#$dombgcolor'"
:($j_inac
?" bgcolor='#$dayholcolor'"
:""
)).">"
.$dom
++."
, \n\" ;

else
if
(checkdate
($mois
,$dom
,$annee
))

echo \".($dom
== $jour
?" bgcolor='#$dombgcolor'"
:($j_inac
?" bgcolor='#$dayholcolor'"
:""
)).">"
.$dom
++."
, \n\"
;

else

echo \"&nbsp;, \n\"
;

}

echo \"\n\"
;

}

// vérification date entrée avec l'heure actuelle
$heure
= date
(\"H\"
);
$minute
= date
( \"i\"
);
$seconde
= date
(\"s\"
);

$timestamp
= mktime
($heure
, $minute
, $seconde
, $mois
, $jour
, $annee
);

// date actuelle directement en timestamp
$maintenant
= mktime
();

if
($timestamp
< $maintenant
)
{

echo \"$error01\"
;

}

else

echo \"\n----
&nbsp;&nbsp;
\n"

;

echo "\n</tr></table>\n"
;

echo "</td></tr></table>"
;

echo "</form></center>"
;

echo "\n"
;

?>
</html>
0
mohamedsekak Messages postés 1 Date d'inscription jeudi 11 août 2011 Statut Membre Dernière intervention 11 août 2011
11 août 2011 à 15:47
slt ça marche pas.
0
Rejoignez-nous