Fonction perdue après isolation du Javascript dans un fichier
Bonjour,
Je reprends du code dans lequel le PHP, le HTML, le CSS et le Javascript sont mélangés.
Par exemple, extraits de index2.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| <?php
session_start();
include("connexion_bdd.php");
include("compteur_connexions.php");
/* du code PHP */
// Fonction pour supprimer les accents :
function wd_remove_accents($str, $charset='utf-8')
{
/* du code PHP */
}
/* du code PHP */
function redimage($img_src,$dst_w,$dst_h)
{
/* du code PHP */
}
/* du code PHP */
<!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" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?=$le_titre;?></title>
<meta name="description" content="<?=$la_description;?>"/>
<meta name="keywords" content="<?=$les_keywords;?>"/>
<meta http-equiv="Content-Language" content="<?=$la_langue?>" />
<link rel="icon" type="image/x-icon" href="img/favicon.ico" />
<script type="text/javascript" src="js/jquery-1.4.3.min.js"></script>
<!-- autres fichiers Javascript inclus -->
<script type="text/javascript" >
function afficheMessage(contenuHTML){
/* du code Javascript */
}
/* autres fonctions Javascript */
function afficherPopupLangues(){
var posX = 20;
var posY = 40;
$("#popLangues").show().css({ 'z-index': '10', 'right':posX+'px', 'top':posY+'px'});
}
/* autres fonctions Javascript */
</script>
</head>
<body style="background:#FFFFFF; margin:0px; padding:0px; font-family:Arial, Verdana, Helvetica; color:white;">
<div id="barre_top" style="height:36px; margin:auto; background-image:url('images/fond_barre_top.png'); background-repeat:repeat-x;">
<!-- du code HTML -->
<a href="javascript:afficherPopupLangues();" class="menuTOP">
<?=$trad_language?>
</a>
<!-- etc. --> |
Dans ce code existant, l'appel à la fonction Javascript afficherPopupLangues() fonctionne.
Voulant organiser un peu mieux le code :
- j'ai transféré le code Javascript dans un fichier ew.js ;
- j'ai isolé l'entête HTML, qui resservira plusieurs fois, dans un fichier entete.phtml ;
- j'ai isolé le début du <body> dans un fichier bandeau_haut.phtml pour les mêmes raisons et l'appel à la fonction afficherPopupLangues() se retrouve ainsi dans bandeau_haut.phtml.
Dans entete.phtml, j'ai bien entendu ajouté cette ligne :
Code:
<script type="text/javascript" src="js/ew.js"></script>
En remplacement de index2.php, j'ai un fichier formé ainsi :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <?php
include_once("includes/inc_session_control.php"); // Contrôle de la session utilisateur
include_once("includes/inc_cookie_control.php"); // Contrôle du cookie
include_once("ewtrad.php");
include_once("includes/inc_common_functions.php");
include("compteur_connexions.php");
$msg_type = "";
$msg_a_afficher = "";
// Identification du membre à partir du formulaire d'identification
if($_POST["ident"])
{
// du code PHP
}
// Entête de page HTML
require 'entete.phtml';
?>
<body>
<?php
require 'bandeau_haut.phtml';
?>
</body>
<?php
// Bas de page HTML
require 'bas_page.phtml';
?> |
Et cette fois, lorsque je clique sur l'option de menu qui appelle la fonction Javascript afficherPopupLangues(), rien ne se passe, si ce n'est cette erreur dans Firebug :
Citation:
afficherPopupLangues is not defined
Quelqu'un saurait me dire pourquoi ?