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 :
Dans ce code existant, l'appel à la fonction Javascript afficherPopupLangues() fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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. -->
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 :
En remplacement de index2.php, j'ai un fichier formé ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <script type="text/javascript" src="js/ew.js"></script>
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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'; ?>
Quelqu'un saurait me dire pourquoi ?afficherPopupLangues is not defined
Partager