Accueil > Forum > > > > JS : Firefox oui, autres navigateurs non...
JS : Firefox oui, autres navigateurs non...
mercredi 17 novembre 2010 à 15:04:31 |
JS : Firefox oui, autres navigateurs non...

tets88
|
Bonjour,
Je me suis amusé à faire un calendrier. Sous Firefox il fonctionne no problemo amigo. Dès que j'essaye de l'ouvrir avec un autre navigateur (IE, safari et chrome testé) oulala marche papapas... En deux mots voilà ce que je fais : j'ai un tableau contenant les semaines d'un mois. Après 7 jours, je crée un nouvelle balise <tr> qui me permet d'aller à la ligne (nouvelle semaine). La premier semaine, tous les navigateurs la construise tiptop kodak. Mais dès que j'arrive dans mon instruction if, qui permet de savoir à combien de jour en est la semaine, sous IE (merci Firebug Lite) il écrit ceci :
Code HTML : <tr class="sem1">
<td..></td>
<td..></td>
...
</tr>
<><tr class="sem2"></>
<><tr class="sem3"></>
Alors pourquoi ça me met des <> sur IE, chrome, safarie et pas sur FF et quelle est la solution, please help !
Code HTML : <table id="calendrier">
<tbody id="calBody">
<tr class="titreTab"></tr>
<tr class="jourSemaine">
<th>D</th>
<th>L</th>
<th>M</th>
<th>M</th>
<th>J</th>
<th>V</th>
<th>S</th>
</tr>
</tbody>
</table>
JS (good luck ;)):
Code Javascript : function calendrier(){
var date= new Date();
var jour = date.getDate();
var moisActuel = date.getMonth();
var annee = date.getFullYear();
calendar(jour,moisActuel, annee, date);
}
function calendar(jour, mois, annee){
var noSemaine=1;
var d =new Date();
var date= new Date(annee, mois);
var premierJour = new Date();
var premierJour = date;
premierJour.setDate(1);
premierJour = premierJour.getDay();
var moisTab=new Array(12);
moisTab[0]="Janvier";
moisTab[1]="Février";
moisTab[2]="Mars";
moisTab[3]="Avril";
moisTab[4]="Mai";
moisTab[5]="Juin";
moisTab[6]="Juillet";
moisTab[7]="Août";
moisTab[8]="Septembre";
moisTab[9]="Octobre";
moisTab[10]="Novembre";
moisTab[11]="Décembre";
var joursMois = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if (annee%4==0 && annee%100!=0 || annee%400==0){
joursMois[1]=29;
}
var jourMoisActuel=joursMois[mois];
$(".moisAvant").remove();
$(".moisApres").remove();
$(".moisAnnee").remove();
if((mois)==d.getMonth() && (annee)==d.getFullYear()){
$(".titreTab").append("<th class='moisAvantActuel'><img src='Images/fleche_back_1.png' class='fleche'/></th><th colspan='5' class='moisAnnee'></th><th class='moisApres'><img src='Images/fleche_next.png' class='fleche' alt='mois suivant'/></th>")
}
else{
$(".moisAvantActuel").remove();
$(".titreTab").append("<th class='moisAvant'><img src='Images/fleche_back.png' class='fleche' alt='mois avant'/></th><th colspan='5' class='moisAnnee'></th><th class='moisApres'><img src='Images/fleche_next.png' class='fleche' alt='mois suivant'/></th>")
}
$(".moisAnnee").html(moisTab[mois] + " "+annee);
var tbody=$("#calBody");
tbody.append("<tr class='sem"+noSemaine+"'>");
var jourSemaine = 0;
for(i=1; i<=premierJour;i++){
if(mois==0){
$(".sem"+noSemaine).append("<td class='jourMoisAvant'>"+(joursMois[11]-premierJour+i)+"</td>");
}
else{
$(".sem"+noSemaine).append("<td class='jourMoisAvant'>"+(joursMois[mois-1]-premierJour+i)+"</td>");
}
jourSemaine++;
}
for(j=1; j<=jourMoisActuel;j++){
if(j<jour){
$(".sem"+noSemaine).append("<td class='jourAvant'>"+j+"</td>");
}
if(j==jour){
$(".sem"+noSemaine).append("<td class='aujourdhui'>"+j+"</td>");
}
if(j>jour){
$(".sem"+noSemaine).append("<td class='jourApres'>"+j+"</td>");
}
jourSemaine++
if(jourSemaine==7){
jourSemaine=0;
noSemaine++;
tbody.append("<tr class='sem"+noSemaine+">");
}
}
for(k=1;jourSemaine!=0;k++){
$(".sem"+noSemaine).append("<td class='jourMoisApres'>"+k+"</td>");
jourSemaine++;
if(jourSemaine==7){
jourSemaine=0;
noSemaine++;
tbody.append("<tr class='sem"+noSemaine+">");
}
}
$(".moisApres").click(function(){
jour=-1;
mois++;
if(mois==12){
mois=0;
annee++;
}
clean(noSemaine);
calendar(jour,mois,annee)
});
$(".moisAvant").click(function(){
mois--
if((mois)==d.getMonth() && (annee)==d.getFullYear()){jour=d.getDate();}
else{jour=-1;}
if(mois==-1){
mois=11;
annee--;
}
clean(noSemaine);
calendar(jour,mois,annee)
});
}
function clean(sem){
for(i=1; i<=sem; i++){
$(".sem"+i).remove();
}
}
Problème depuis la ligne : if(jourSemaine==7){
|
|
mercredi 17 novembre 2010 à 16:13:08 |
Re : JS : Firefox oui, autres navigateurs non...

tets88
|
Réponse acceptée !
P****** ! J'ai trouvé l'erreur, perdre 3 heures pour une aussi petite erreur de rien... Ya de qu'à devenir fou !!!
Il manquait un ' à mes 2 lignes : Code Javascript : tbody.append("<tr class='sem"+noSemaine+">"); ==> Code Javascript : tbody.append("<tr class='sem"+noSemaine+"'>");.
Pour les personnes qui aimerait un calendrier qui fonctionne sur tout les navigateurs  faîtes-moi signe !
Bonne suite !
|
|
mercredi 17 novembre 2010 à 20:15:58 |
Re : JS : Firefox oui, autres navigateurs non...

PetoleTeam
|
Bonjour,
si je puis me permettre il est plus propre d'utiliser les méthodes mises à disposition pour créer des lignes et des colonnes
var oRow = oTable.insertRow(-1);
et
var oCell = oRow.insertCell (-1);
par exemple
Code Javascript : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Création Table</title>
<style type="text/css">
.t_style {
border : 1px solid #808080;
empty-cells : show;
}
.t_style td {
border : 1px solid #808080;
background-color : #f0f0f0;
padding : 5px;
font-family : Verdana;
font-size : 13px;
}
</style>
</head>
<body>
</body>
<script type="text/javascript">
//-- Creation de la table
var oTable = document.createElement( 'table');
//-- Ajout de la table
document.body.appendChild( oTable);
//-- un peu de style
oTable.className = 't_style';
//-- Creation des lignes
for (var i = 0; i < 10; i++) {
var oRow = oTable.insertRow(-1);
//-- Creation des colonnes
for (var k = 0; k < 5; k++) {
var oCell = oRow.insertCell( - 1);
//-- Ecriture data
oCell.innerHTML = "Lig : " +i +" Col : " +k;
}
}
</script>
</html>
de plus tu fermes tes balises TR quand ?. Pas vu dans ton code!
enfin si tu tiens à insérer de la sorte autant TOUT insérer d'un coup plutôt que pas morceau, moins de risque de perturber le DOM.
;O)
|
|
jeudi 18 novembre 2010 à 08:32:41 |
Re : JS : Firefox oui, autres navigateurs non...

tets88
|
Merci ! Je n'avais pas vu le chose sous cet angle mais en y réfléchissant, c'est tellement plus logique de faire des boucles imbriquées.
C'est en faisant des erreurs qu'on apprend...
|
|
Cette discussion est classée dans : var, annee, mois, if, moistab
Répondre à ce message
Sujets en rapport avec ce message
calendrier à l'affichage etrange [ par nesse81 ]
Ce script est super mais l'affichage est bizarre, les mois apparaissent sur le coté droit et les années en haut des jours! bref ca n'a aucun sens je v
Scinder du code en deux pages [ par Prof_Matches ]
Bonjour, Voici le code que j'ai sur une page HTML : J'aimerais avoir sur : [*] - page 1 : les variables var et le résultat des document.write [*]
Page de chargement après un formulaire [ par cubitus79 ]
Bonjour, J'ai actuellement des problème pour mettre en place une animation de chargement a la suite de mon formulaire. J'explique mieux: j'ai un for
parser un xml [ par zeitoun69 ]
Bonjour je dois parser un fichier xml et former un tableau a partir des données extraite j'ai réussi a former le tableau mais les données sont celles
Coordonnées et taille d'une DIV [ par gegar12 ]
Tout d'abord, je viens de m'inscrire sur ce forum et je salue tous ses membres. J'ai trouvé un script qui me permet de bouger des calques (div) et qu
IE et Mozzila Firefox n'active pas mon javascript de mon formulaire [ par momosan77 ]
Bonjour, J'ai un souci, c'est quand j'essaie de valider le formulaire dans Mozzila ou IE celui-ci ne prend pas compte du javascript Alors que si je l'
Fonction non activer... [ par momosan77 ]
Bonjour, j'expose mon soucis donc c'est que la fonction principale ne considère ni les fonction secondaire no les fonction principale. Alors que sa a
repetition code [ par chguignard ]
bonjour, j'ai une page avec un menu. j'aimerai sortir le CSS de la page html ainsi que le detail du menu (les ul et li). comment puis je faire pour q
changer le sens d'un texte qui défile [ par anthony428 ]
Bonjour à tous, je viens de plonger les mains dans un site dont je suis chargé de faire la refonte et je souhaiterais changer le sens du texte qui d
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|