Bonjour,
J'ai une page html toute bête que voici :
Lorsque je clic sur le bouton Valider, ma page appelle la fonction displayPage() de fonction.js que voici :
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 <html> <head> <link rel='stylesheet' type='text/css' href='styles.css'> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Super-Délégué</title> </head> <body> <script type="text/javascript" src="fonction.js"></script> <noscript>Pour utiliser ce site, veuillez activer JavaScript dans les paramètres de votre navigateur. Mozilla Firefox est vivement recommandé pour l'utilisation de ce site</noscript> <div id="main"> <div class="top"></div> <div class="middle"> <div id="main_menu"></div> <div id="submain"> <table align="center"> <tr> <td> <input name="Button1" type="button" value="Valider" onclick="displayPage('etape1');"> </td> </tr> </table> </div> </div> <div class="bottom"></div> </div> </body> </html>
affichage.php fonctionne très bien.
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 function displayPage(page) { requeteAjax = null; requeteAjax = new XMLHttpRequest(); requeteAjax.open("POST","script/affichage.php",false); requeteAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8"); requeteAjax.onreadystatechange = function() { if(requeteAjax.readyState == 4 && requeteAjax.status == 200) { $('submain').innerHTML = requeteAjax.responseText; //alert(requeteAjax.responseText); } } paramUrl = "etape="+page; requeteAjax.send(paramUrl); }
Avec ce code, normalement ma page HTML "s'édite" avec le contenu retourné par affichage.php. Le problème est que sa n'est pas le cas : rien ne se passe, affichage.php s'éxecute bien mais il n'arrive rien.
Si je passe mon requeteAjax.open à true au lieu de false, bizarrement sa marche !
Le truc, c'est que je réutilise ma fonction displayPage() plusieurs fois et il faut que l'édition de la page se fasse avant d'autres instructions, or si je met true, l'édition de la page n'est pas la première chose effectué.
Merci de votre aide et de toute réponse qui pourra mettre utile.
Partager