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 :
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 :
<script type="text/javascript" src="js/ew.js"></script>
En remplacement de index2.php, j'ai un fichier formé ainsi :
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 :
afficherPopupLangues is not defined
Quelqu'un saurait me dire pourquoi ?
Partager