begin process at 2012 05 29 01:19:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Calendrier Javascript incompatible mozilla!!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Calendrier Javascript incompatible mozilla!!!

mardi 16 novembre 2004 à 20:40:12 | Calendrier Javascript incompatible mozilla!!!

jojomillenium

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! :

dans <Head></Head>:

<SCRIPT LANGUAGE="JavaScript" type="text/javascript">


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.color == toggleColor) {
myElement.children[i].color = "#F1DC2B";
} else {
myElement.children[i].color = toggleColor;
}
}
}
}
}

function fSetSelectedDay(myElement){

if (myElement.id == "calCell") {
if (!isNaN(parseInt(myElement.children["calDateText"].innerText))) {
sJour = myElement.children["calDateText"].innerText;
sMois = frmCalendarSample.tbSelMonth.value;
if(sMois.length==1)
sMois = "0"+sMois;
if(sJour.length==1)
sJour = "0"+sJour;
document.add_revenu.date.value = sJour+"-"+sMois+"-"+frmCalendarSample.tbSelYear.value;

myElement.bgColor = "#c0c0c0";
objPrevElement.bgColor = "#546486";

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("<table border='0' cellspacing='0'>")
document.write("<tr>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][0] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][1] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][2] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][3] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][4] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][5] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][6] + "</td>");
document.write("</tr>");
for (w = 1; w < 7; w++) {
document.write("<tr>")
for (d = 0; d < 7; d++) {
document.write("<td align='left' valign='top' bgcolor='#546486' width='" + iCellWidth + "' height='" + iCellHeight + "' id='calCell' style='cursor:hand;' onMouseOver='fToggleColor(this)' onMouseOut='fToggleColor(this)' onclick='fSetSelectedDay(this)'>");
if (!isNaN(myMonth[w][d])) {
document.write("<font id=calDateText color='#F1DC2B' style='CURSOR:Hand;FONT-FAMILY:Arial;FONT-SIZE:" + sDateTextSize + ";FONT-WEIGHT:" + sDateTextWeight + "' onclick=fSetSelectedDay(this)>" + myMonth[w][d] +"</font>");
} else {
document.write("<font id=calDateText color='#F1DC2B' style='CURSOR:Hand;FONT-FAMILY:Arial;FONT-SIZE:" + sDateTextSize + ";FONT-WEIGHT:" + sDateTextWeight + "' > </font>");
}
document.write("</td>")
}
document.write("</tr>");
}
document.write("</table>")
}
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>

<form name="frmCalendarSample" method="post" action="">
<input type="hidden" name="calSelectedDate" value="">

<table border="1" align="center" bordercolor="#000000" bgcolor="#FFFFFF" cellpadding="0" cellspacing="0">
<tr>
<td>
<div align="center">
<select class="field" name="tbSelMonth" onchange='fUpdateCal(frmCalendarSample.tbSelYear.value, frmCalendarSample.tbSelMonth.value)'>
<option value="1">Janvier</option>
<option value="2">Fevrier</option>
<option value="3">Mars</option>
<option value="4">Avril</option>
<option value="5">Mai</option>
<option value="6">Juin</option>
<option value="7">Juillet</option>
<option value="8">Août</option>
<option value="9">Septembre</option>
<option value="10">Octobre</option>
<option value="11">Novembre</option>
<option value="12">Decembre</option>
</select>
<select class="field" name="tbSelYear" onchange='fUpdateCal(frmCalendarSample.tbSelYear.value, frmCalendarSample.tbSelMonth.value)'>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
</select>
</div>
</td>
</tr>
<tr>
<td>
<script language="JavaScript" type="text/javascript">
var dCurDate = new Date();
fDrawCal(dCurDate.getFullYear(), dCurDate.getMonth()+1, 15, 15, "12px", "bold", 1);
</script>
</td>
</tr>
</table>
</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!!!!
mardi 16 novembre 2004 à 21:08:01 | Re : Calendrier Javascript incompatible mozilla!!!

coucou747

Administrateur CodeS-SourceS
euh t'as utilisé plein de trucs pas utilisable ne js, alors pe que IE suportes mais mozilla...

le mieux c'est de coder sous Mozilla (ou tout autre rendu gecko) mais la... j'ai trop mal a la tête...
mardi 16 novembre 2004 à 21:57:39 | Re : Calendrier Javascript incompatible mozilla!!!

jojomillenium

Merci! Ca fait 2 jours que j'ai mal a la tete avec ce truc :p
Qu'est ce qui dans mon code n'est pas accepté par Mozilla?
Ou puis je trouvé les "normes" d'acceptation universel :) ?
mercredi 17 novembre 2004 à 01:08:31 | Re : Calendrier Javascript incompatible mozilla!!!

chimelpremier

il y a au moins document.all.calSelectedDate qui est purement IE

mettre plutot document.frmCalendarSample.calSelectedDate

ou mieux : remplacer name="calSelectedDate " par

id="calSelectedDate "
et l'atteindre par
document.getElementById("calSelectedDate ")

Documentation bien expliquée mais encore imcomplète:
[ Lien ]

mercredi 17 novembre 2004 à 12:20:16 | Re : Calendrier Javascript incompatible mozilla!!!

coucou747

Administrateur CodeS-SourceS
et pour faire un truc portable, vaut mieux coder sous Mozilla (ça arrives que ça ne fonctionne pas sous IE mais c'ets rare et facile a transformer...)
mercredi 17 novembre 2004 à 16:41:42 | Re : Calendrier Javascript incompatible mozilla!!!

jojomillenium

Merci pour le conseil d'utiliser les id, j'ai tout remplacé par des id et en les appelant comme il faut. Ca marche tjr sous IE, mais par contre, mozilla n'aime toujour pas!

rien que cette partie de code marche pas :

<script language="JavaScript" for=window event=onload type="text/javascript">

var dCurDate = new Date();
document.getElementById("tbSelMonth").options[dCurDate.getMonth()].selected = true;
for (i = 0; i < document.getElementById("tbSelYear").length; i++)
if (document.getElementById("tbSelYear").options[i].value == dCurDate.getFullYear())
document.getElementById("tbSelYear").options[i].selected = true;

</script>

<form id="frmCalendarSample" method="post" action="">
<input type="hidden" id="calSelectedDate" name="calSelectedDate" value="">

<table border="1" align="center" bordercolor="#000000" bgcolor="#FFFFFF" cellpadding="0" cellspacing="0">
<tr>
<td>
<div align="center">
<select class="field" id="tbSelMonth" name="tbSelMonth" onchange='fUpdateCal(document.getElementById("tbSelYear").value, document.getElementById("tbSelMonth").value)'>
<option value="1">Janvier</option>
<option value="2">Fevrier</option>
<option value="3">Mars</option>
<option value="4">Avril</option>
<option value="5">Mai</option>
<option value="6">Juin</option>
<option value="7">Juillet</option>
<option value="8">Août</option>
<option value="9">Septembre</option>
<option value="10">Octobre</option>
<option value="11">Novembre</option>
<option value="12">Decembre</option>
</select>
<select class="field" id="tbSelYear" name="tbSelYear" onchange='fUpdateCal(document.getElementById("tbSelYear").value, document.getElementById("tbSelMonth").value)'>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
</select>
</div>
</td>
</tr>
<tr>
<td>
<script language="JavaScript" type="text/javascript">
var dCurDate = new Date();
fDrawCal(dCurDate.getFullYear(), dCurDate.getMonth()+1, 15, 15, "12px", "bold", 1);
</script>
</td>
</tr>
</table>
</form>


ou normalement ca selectionne dans les select la date d aujourd hui!

Enfin vala, j'ai rien trouvé sur le net de réellement clair sur les facon de coder pour tout navigateur.
Meme sur l'adresse : http://fr.selfhtml.org/
que je connaissais avant , j n'ai rien trouvé de concluant!

MErci si vous reussissez a m'aider!

mercredi 17 novembre 2004 à 18:04:09 | Re : Calendrier Javascript incompatible mozilla!!!

chimelpremier

for=window event=onload : je ne connais pas ça

Concernant les méthodes de l'objet event, elles sont encore très différentes entre ie et Gecko, pour que ça marche, il faut employer les 2 syntaxes
mercredi 17 novembre 2004 à 22:55:03 | Re : Calendrier Javascript incompatible mozilla!!!

jojomillenium

Je suis vraiment novice ladedans, et surtout en ce qui concerne mozilla.
Personne ne connait un endroit ou je pourrais trouver de l'aide dans les codes correspondant pour mozilla?
A moins que quelqu'un ai le temps et la gentillesse de m'aider et m'expliquer!

Je farfouille le web a la recherche d'info concernant ce qui est accepter ou non sous mozilla et comment adapter les codes pour que ca marche, mais je trouve niette!

Merci!
lundi 24 octobre 2005 à 22:28:58 | Re : Calendrier Javascript incompatible mozilla!!!


Cette discussion est classée dans : var, document, write, amonth, myelement


Répondre à ce message

Sujets en rapport avec ce message

pb pour placer les sous-menus [ par annethe ] Bonjour,J'ai créé un menu dynamique. J'ai réussi à placer lemenu où je veux mais je n'arrive pas à bien placer lessous-menus.dans la page ou j'affiche Appel de fonction via un évènement OnClick ? [ par bside8 ] Bonjour,tout commence par un formulaire PHP dans lequel mes utilisateurs doivent saisir une date.Dans le champ concerné se trouve un gestionnaire d'év OnChange=fonction() --> ne MARCHE pas !! [ par bside8 ] Bonjour,j'essaie de mettre au point un script permettant d'afficher un calendrier.J'affiche dans une fenêtre nommée Calendrier le calendrier du mois c Script dans un script dans un tableau [ par Superjun ] Hello tlm !J'ai créé un script pour adapter l'espacement de compteurs (3) dans un tableau, et aussi pour adapter la taille du tableau selon la résolut Lien sur 1 message par jour.(*.JS) [ par bonobos ] Bonjour à tous,J'ai un script .js qui m'affiche un message différent chaque jour.Comment faire un lien sur chaque message ? MerciVoilà le script JS:{v Tableau 2D [ par malik7934 ] Hello, En deux mots: j'ai fais ça: http://noisy.ch/smilies/smilies2.html mais je n'y connais rien à Javascript (c'est pour un chat en php). J'ai modi script de menu defilant pas assez extensible [ par pusse ] Bonjour à tous. J'ai recuperer un script en javascript qui permet de creer un menu de liens defilant horizontalement suivant une action sur des fleche script a modifier. Je suis pas capable de le faire [ par pusse ] Salut à tous. J'ai recuperer sur le net un script de menu defilant horizontalement. Tout marche tres bien sauf  que je rencontre un petit probleme. Qu modification script -- centrer [ par pusse ] Salut a tous j'ai recuperer un script sur le net qui me permet de creer un  liste defilante de liens horizontalement avec action sur des fleches. Le s Defi [ par wassimkr ] Je dois résoudre un challenge : trouver un code grâce au code source de la page.J'aimerais bien que vous me donniez quelques indices pour pouvoir réso


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales