Pourquoi la date ne s'affiche pas

Résolu/Fermé
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 - 19 janv. 2012 à 12:22
AssassinTourist Messages postés 5893 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 - 19 janv. 2012 à 16:01
Bonjour,


je tiens à préciser que le js est un violent copié/collé mais qu'il fonctionne sous JS Bin
mais lorsque je l'intègre dans ma page avec les modifications (que je pense) adéquates
rien ne s'affiche

le js : //Voici un script détaillé de l'utilisation de cette fonction :

// JavaScript Document
// Script créé par le webmaster de http://cust.er.free.fr

// Initialise la fonction rafraichir qui a pour but de rafraichier la date
// toutes les secondes
function rafraichir()
{
// On initialise la variable text dans laquelle on affichera la date
var text = '';

// On initialise la fonction date qui nous servira a afficher les caractéristiques
//de la date (jour, mois, heure ...)
var date = new Date();

/* Fonction ' JOUR SEMAINE ' */
// Le jour de la semaine sera affiché de la façon : Lundi.
var jour_actuel = date.getDay();
var chaine_jour = Array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi',
'Samedi');
var jour_semaine = chaine_jour[jour_actuel];

/* Fonction ' JOUR ' */
// Le jour sera affiché de façon 20.
// Pour les jours de 1 a 9, on affichera donc un '0' devant.
if ( date.getDate() <= 9 )
{
var jour = '0'+date.getDate();
}
else
{
var jour = date.getDate();
}

/* Fonction ' MOIS ' */
var mois_actuel = date.getMonth();
var chaine_mois = Array('janvier', 'février', 'mars', 'avril', 'mai',
'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre',
'décembre');
var mois = chaine_mois[mois_actuel];


/* Fonction ' HEURES ' */
if ( date.getHours() <= 9 )
{
var heure = '0'+date.getHours();
}
else
{
var heure = date.getHours();
}

/* Fonction ' MINUTES ' */
if ( date.getMinutes() <= 9 )
{
var minutes = '0'+date.getMinutes();
}
else
{
var minutes = date.getMinutes();
}

/* Fonction ' SECONDES ' */
if ( date.getSeconds() <= 9 )
{
var secondes = '0'+date.getSeconds();
}
else
{
var secondes = date.getSeconds();
}

// On prépare l'affichage de la date et de l'heure
text += jour_semaine+' '+jour+' '+mois+' '+date.getFullYear();
text += ' - ';
text += heure+':'+minutes+':'+secondes;

// On indique que cette date sera affichée dans une balise dont l'"id" est
// "affiche_date"
document.getElementById('affiche_date').innerHTML = text;
}
// On écrit la balise dont l'id est "affiche_date"
// On peut aussi choisir une autre balise HTML !
document.write('<li id="affiche_date"></li>');

// Enfin, on rafraichi la fonction "rafraichir" toutes les secondes.
setInterval('rafraichir()',1000);

/* -- -- -- FIN -- -- -- */

/*Comme c'est précisé en haut de page, ce code est à placer dans un fichier d'extension .js (pour JavaScript).
Pour afficher la date et l'heure dans une page, il vous suffira d'appeler cette page via la balise ci-dessous.

<script type="text/javascript" src="lien_de_cette_page.js"></script>
Voila, en faisant quelques petites modifications, vous pourrez mieux comprendre ce script,
je vous invite donc à essayer de le modifier à votre façon !! */

l'html :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="stageBTSpolyservices.css">
<!--<script type="text/javascript" src="menu_polyservices.js"></script>-->
<script type="text/javascript" src="date_heure.js"></script>
<script type="text/javascript" src="menu.js"></script>


</head>

<body>
<!--<div id="page">-->
<div id="date_connexion">
<table width="1000" height="5">
<tr>
<td width="33%" height="5" id="affiche_date">
<p id="affiche_date"></p>
</td>

<td width="34%" height="5">
<a href="stageBTSpolyservicesFormulaire.html" class="center">Devenir membre</a>
</td>

<td width="33%" height="5">
<a target="window1" href="connexion.html" class="right">Se connecter</a>
</td>
</tr>
</table>
</div>
<div id="banniere"><img src="Banniere.PNG">
</div>
<ul id="menu">
<li><a href="">Produit</a></li>
<li><a href="">Accueil</a></li>
<!--<li><a href="">Formulaire</a></li>-->

<li><a href="">Société</a></li>
<ul>
<li><a href="">Nous situer</a></li>
</ul>
</li>

<li><a href="">Nous contacter</a></li>
</ul>
<!--</div>-->
</body>
</html>
A voir également:

2 réponses

AssassinTourist Messages postés 5893 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 312
19 janv. 2012 à 12:35
Tu ne peux pas utiliser plusieurs fois d'id dans une page. id est unique. Sinon, tu utilise la balise class.
J'ai vu l'id trois fois :
- en js (document.write(<li id=""affiche_date>))
- en php (dans un p et dans td
0
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
19 janv. 2012 à 13:52
donc l'erreur vient des id identiques entre l'html et le js ?? parce que sinon mes id dans mon html sont tous différents (ou alors je ne comprends toujours pas désolé)
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
19 janv. 2012 à 13:59
Non dans ton HTML ils ne sont pas tous différents, par exemple tu as plusieurs fois affiche_date :
<td width="33%" height="5" id="affiche_date">
<p id="affiche_date"></p> 

Change tes id en class si tu dois les utiliser plusieurs fois.
0
AssassinTourist Messages postés 5893 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 312
19 janv. 2012 à 13:58
Dans ton js que tu appelles, tu as un document.write. Cette fonction écrit dans ton html, et donc a écrit un li avec un id pareil.

Sinon, dans ton html, je vois :
<td width="33%" height="5" id="affiche_date">
<p id="affiche_date"></p>
C'est pas 2 id identiques ça ? ;)
0
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
Modifié par Debutant en webmastering le 19/01/2012 à 14:02
désolé comme j'ai dit le js est un copié-collé et comme je débute en tout cas merci pour tes explications, j'apprécie ton aide =)
et si je commente la ligne document.write ça fonctionnerait ??
0
AssassinTourist Messages postés 5893 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 312
19 janv. 2012 à 14:13
Non, en fait, je vais essayer d'être plus clair ^_^

De base, il ne faut la présence que d'un id dans ta page. (un seul élément peut avoir un id)
Ensuite, la balise script que tu as rajouté dans ton méta ne fais que charger le js pour ton html.
Ton js fait ses calculs de date et tout, et à la fin, il récupère sa variable (text dans ton cas) et il créé un élément où il va le mettre.

Si j'ai bien suivi ce que tu voulais faire, tu commentes cette ligne document.write(...)
et tu mets document.getElementById("affiche_date").innerHTML = text;
Je suppose que tu auras laissé dans ta page <p id="affiche_date"></p>

Cette commande permet (comme tu peux t'en douter) de récupérer dans ta page, l'élément dont l'id est affiche_date et d'y mettre à l'intérieur la variable text.
0
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
19 janv. 2012 à 14:42
C'est exactement ce que je veux donc en théorie ça devrait fonctionner, mais en pratique rien :(
0
AssassinTourist Messages postés 5893 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 312
19 janv. 2012 à 14:51
Si tu es sous Firefox, il y a le plugin que tout développeur devrait avoir : Firebug ;) (il y a l'équivalent sous Chrome je crois mais je ne le connais pas)
Une fois que ce se sera installé, tu auras une console qui te permettra de débuguer entre autre le js.
S'il rencontre une erreur, il t'affichera le message dans l'onglet "console".

Sinon pour débuguer le js, il y a la commande alert("blabla"+variable+"blabla"); qui fait une popup qui permet de voir s'il passe par certains endroits où si ses variables sont bien remplies.
0
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
19 janv. 2012 à 14:56
Très bien je te remercie pour tous tes conseils je vais étudier un peu le js et voir ce que j'arrive à faire
0