Calendrier Javascript : probleme compatibilité Mozilla
jojomillenium
Messages postés136Date d'inscriptionsamedi 1 mai 2004StatutMembreDernière intervention26 mai 2007
-
16 nov. 2004 à 17:42
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
16 nov. 2004 à 20:07
hello!
Vala j'ai un bleme, mon calendrier marche nicke sous explorer mais sous mozilla rien a faire, il apparait pour le mois present, mais si je veux changer de mois, d annee kan je peux pas cliquer sur un date (ce qui normalement m'inscit la date du jour ou G cliqué dans un champs exterieur)
Voila mon code, merci si vous pouvez m aider! :
var dDate = new Date();
var dCurMonth = dDate.getMonth();
var dCurDayOfMonth = dDate.getDate();
var dCurYear = dDate.getFullYear();
var objPrevElement = new Object();
function fToggleColor(myElement) {
var toggleColor = "#ff0000";
if (myElement.id == "calDateText") {
if (myElement.color == toggleColor) {
myElement.color = "#F1DC2B";
} else {
myElement.color = toggleColor;
}
} else if (myElement.id == "calCell") {
for (var i in myElement.children) {
if (myElement.children.id == "calDateText") {
if (myElement.children[i].color == toggleColor) {
myElement.children[i].color = "#F1DC2B";
} else {
myElement.children[i].color = toggleColor;
}
}
}
}
}
document.all.calSelectedDate.value = parseInt(myElement.children["calDateText"].innerText);
objPrevElement = myElement;
}
}
}
function fGetDaysInMonth(iMonth, iYear) {
var dPrevDate = new Date(iYear, iMonth, 0);
return dPrevDate.getDate();
}
function fBuildCal(iYear, iMonth, iDayStyle) {
var aMonth = new Array();
aMonth[0] = new Array(7);
aMonth[1] = new Array(7);
aMonth[2] = new Array(7);
aMonth[3] = new Array(7);
aMonth[4] = new Array(7);
aMonth[5] = new Array(7);
aMonth[6] = new Array(7);
var dCalDate = new Date(iYear, iMonth-1, 1);
var iDayOfFirst = dCalDate.getDay();
var iDaysInMonth = fGetDaysInMonth(iMonth, iYear);
var iVarDate = 1;
var i, d, w;
if (iDayStyle == 2) {
aMonth[0][0] = "Dimanche";
aMonth[0][1] = "Monday";
aMonth[0][2] = "Tuesday";
aMonth[0][3] = "Wednesday";
aMonth[0][4] = "Thursday";
aMonth[0][5] = "Friday";
aMonth[0][6] = "Saturday";
} else if (iDayStyle == 1) {
aMonth[0][0] = "Dim";
aMonth[0][1] = "Lun";
aMonth[0][2] = "Mar";
aMonth[0][3] = "Mer";
aMonth[0][4] = "Jeu";
aMonth[0][5] = "Ven";
aMonth[0][6] = "Sam";
} else {
aMonth[0][0] = "Di";
aMonth[0][1] = "Lu";
aMonth[0][2] = "Ma";
aMonth[0][3] = "Me";
aMonth[0][4] = "Je";
aMonth[0][5] = "Ve";
aMonth[0][6] = "Sa";
}
for (d = iDayOfFirst; d < 7; d++) {
aMonth[1][d] = iVarDate;
iVarDate++;
}
for (w = 2; w < 7; w++) {
for (d = 0; d < 7; d++) {
if (iVarDate <= iDaysInMonth) {
aMonth[w][d] = iVarDate;
iVarDate++;
}
}
}
return aMonth;
}
function fDrawCal(iYear, iMonth, iCellWidth, iCellHeight, sDateTextSize, sDateTextWeight, iDayStyle) {
var myMonth;
myMonth = fBuildCal(iYear, iMonth, iDayStyle);
document.write("\")
document.write(\"----
\");
document.write(\"" + myMonth[0][0] + ", \");
document.write(\"" + myMonth[0][1] + ", \");
document.write(\"" + myMonth[0][2] + ", \");
document.write(\"" + myMonth[0][3] + ", \");
document.write(\"" + myMonth[0][4] + ", \");
document.write(\"" + myMonth[0][5] + ", \");
document.write(\"" + myMonth[0][6] + ", \");
document.write(\"\");
for (w = 1; w < 7; w++) {
document.write(\"----
\")
for (d = 0; d < 7; d++) {
document.write(\"");
if (!isNaN(myMonth[w][d])) {
document.write("" + myMonth[w][d] +"");
} else {
document.write(" ");
}
document.write(", \")
}
document.write(\"\");
}
document.write("
")
}
function fUpdateCal(iYear, iMonth) {
myMonth = fBuildCal(iYear, iMonth);
objPrevElement.bgColor = "#546486";
document.all.calSelectedDate.value = "";
for (w = 1; w < 7; w++) {
for (d = 0; d < 7; d++) {
if (!isNaN(myMonth[w][d])) {
calDateText[((7*w)+d)-7].innerText = myMonth[w][d];
} else {
calDateText[((7*w)+d)-7].innerText = " ";
}
}
}
}
</script>
Et dans body la ou je met mon calendrier :
[i]
<script language="JavaScript" for=window event=onload type="text/javascript">
var dCurDate = new Date();
frmCalendarSample.tbSelMonth.options[dCurDate.getMonth()].selected = true;
for (i = 0; i < frmCalendarSample.tbSelYear.length; i++)
if (frmCalendarSample.tbSelYear.options[i].value == dCurDate.getFullYear())
frmCalendarSample.tbSelYear.options[i].selected = true;
<script language="JavaScript" type="text/javascript">
var dCurDate = new Date();
fDrawCal(dCurDate.getFullYear(), dCurDate.getMonth()+1, 15, 15, "12px", "bold", 1);
</script>
</form>
Il y a un autre formulaire appelé 'add_revenu' dont le champs 'date' prend la valeur de la date cliqué sur le calendrier.
Si quelqu'un arrive a trouver une solution, c'est un Dieu!
Je me suis dis que ca pourrait marcher d'une autre facon genre au lieu d'utiliser les boucle avec des document.write(), d'ecrire le tableau en entier en html avec des id specifique dans chaque celleule, etc....
enfin
MERCI POUR VOTRE AIDE ET SUGGESTION!!!!
A voir également:
Calendrier Javascript : probleme compatibilité Mozilla