Appel de fonction html

Fermé
Profil bloqué - 5 mai 2014 à 19:12
 Profil bloqué - 9 mai 2014 à 18:03
Bonjour, je suis encore débutant en JS ou HTML et et je voudrais appeler ma fonction de mon js externe dans mon html mais rien ne s'affiche et je ne sais pas pourquoi... voila mon JS:
var d = new Date();
var dayIndex = d.getDay();
var day = d.getDate();
var month = d.getMonth();
var year = d.getFullYear();

var formattedDate = getDayName(dayIndex) + ' ' + day + ' ' + getMonthName(month) + ' ' + year;

document.getElementById('currentDate').value = formattedDate;

function getDayName(dayIndex){
var days = ['Dimanche','Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi' ];
return days[dayIndex];
}

function getMonthName(month){
var months = [
'Janvier',
'Février',
'Mars',
'Avril',
'Mai',
'Juin',
'Juillet',
'Août',
'Septembre',
'Octobre',
'Novembre',
'Décembre',
];
return months[month];
}

function pad(n){
return (n < 10) ? ("0" + n) : n;
}

et mon HTML:
<head>
<title></title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/>
</head>
<body>
<h1 id="titre6">Comment arrêter?</h1>
<script type="text/javascript" src="..\Javascript\date.js" disabled="disable"
id="currentDate"></script>
</body>
</html>

Merci d'avance pour votre aide
A voir également:

4 réponses

Jisig Messages postés 83 Date d'inscription mercredi 30 avril 2014 Statut Membre Dernière intervention 2 juin 2014 8
5 mai 2014 à 22:27
N'oublie pas de mettre ton code dans les balises codes adaptées (ça pique aux yeux là), ensuite tu veux faire quoi exactement (un cas concret) car tu définis des fonctions dans ton javascript, mais encore faut-il les exécuter.
0
TibereTchatcha
5 mai 2014 à 23:55
Salut si vous êtes débutant allez y pas à pas:
vous faites un fonction dans un fichier externe puis chargez le fichier et l'appeler dans la page juste pour voir si vous y arrivez.

Puis vous pourrez utiliser les fonctions que vous voulez puisque cela fonctionnera de la même façon, et ça vous aidera à trouver l'erreur si erreur il y a.



En ce qui concerne votre code quelques remarques:

C'est bien beau de faire des fonctions sauf que ceci:
var d = new Date();
var dayIndex = d.getDay();
var day = d.getDate();
var month = d.getMonth();
var year = d.getFullYear();
var formattedDate = getDayName(dayIndex) + ' ' + day + ' ' + getMonthName(month) + ' ' + year;
document.getElementById('currentDate').value = formattedDate;

n'est pas dans une fonction. La portée des variables javascript étant interne à l'endroit où elle sont initialisées ça ne vous sert à rien, il faut mettre dans une fonction si vous voulez vous en servir(et utiliser return qui 'retourne' quelque chose indépendamment de sa portée interne.
Ainsi document.getElementById('currentDate').value = formattedDate; ne fait référence à aucun document puisqu'il est confiné et utilisé hors de toute page HTML(c'est le principe du .js externe, vous pouvez l'utiliser pour plusieurs pages mais il faut faire des fonctions).


<script type="text/javascript" src="..\Javascript\date.js" disabled="disable"
id="currentDate">

pourquoi disabled? Cela voulant dire que vous n'activez pas le contenu il y a plus simple, n'écrivez pas la ligne et ne faites pas d'import de fichier externe.
Référez vous à un cours de base de javascript pour charger un fichier externe, en général on le mets dans la partie <head> du HTML qui sert à ça.

Autre remarque l'URL"..\Javascript\date.js" indique que vous n'êtes pas à la racine et que vous avez des dossiers séparés à des niveaux au dessus. Simplifiez vous les dossiers(et le code) en travaillant à partir de la racine vers des dossiers en dessous plutôt que multiplier les URL dans des dossiers au dessus.
Allez directement au but, au moins pour des tests. Par exemple à la racine vous mettez toutes vos pages, dans un dossier Scripts tout vos javascripts, dans un dossier images toutes vos images... les seuls dossiers qui doivent être mit hors de portée sont ceux qui doivent être sécurisé sinon autant faire simple et direct plutôt que de multiplier les dossiers pour les mêmes choses;
0
Profil bloqué
6 mai 2014 à 13:34
merci de ta réponse. Ceci est en fait une question de cours que je dois faire pour mon site internet évalué. Donc les dossiers que j'ai sont dans l'ordre demandé également, je ne dois pas les changer de place. De plus les cours de javascript n'étant pas mon point fort j'ai récupéré les éléments de mon js sur ce forum précédemment... C'est sensé affiché la date et lorsque je le met dans mon html directement ça marche donc je pensais que mon code était bon même si le validateur affiche 4 erreurs. Je pense que je vais laisser mon js dans le html car mon site est a rendre demain.........
Encore merci =)
0
Profil bloqué
6 mai 2014 à 13:39
Ceci est en fait une question de cours que je dois faire pour mon site internet évalué. C'est sensé affiché la date et lorsque je le met dans mon html directement entre des balises script ça marche donc je pensais que mon code était bon même si le validateur affiche 4 erreurs. Je pense que je vais laisser mon js dans le html car mon site est a rendre demain.........
0
Jisig Messages postés 83 Date d'inscription mercredi 30 avril 2014 Statut Membre Dernière intervention 2 juin 2014 8
Modifié par Jisig le 6/05/2014 à 21:21
index.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Titre</title>
        <script type="text/javascript" src="date.js"></script>
    </head>
    <body>
        <script>
            document.write(this_day());
        </script>
    </body>
</html>


date.js (que j'ai mis dans le même répertoire)
function this_day(){
    today = new Date;
    day = today.getDate();
    month = (today.getMonth())+1;
    year = today.getFullYear();
    return "Nous sommes aujourd'hui le " + day + "/" + month + "/" + year + " nous survolons l'océan pacifique et il fait actuellement 27 degrés celcius ^-^";}


Ceci t'affiche simplement la date dans une page web °_°

Même une feuille de papier est plus légère si on la porte à deux.
0
Profil bloqué
9 mai 2014 à 18:03
Ca n'avais pas l'air compliqué en fait ^^ merci beaucoup de ton aide =)
0