Un site tout en ajax et les fonctions javascript ?
Salut
J'essai de developper un site tout en Ajax, qui est cens� ne jamais se recharger, je passe donc par plusieurs fonction que voici :
Les fonctions javascript
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
| function file(fichier, mode){
if(mode == "undefined"){
mode = "XML";
}
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) {
if(mode == "XML"){
return(xhr_object.responseXML);
} else {
return(xhr_object.responseText);
}
} else {
return(false);
}
}
function moteur(URL){
document.getElementById("corpsDuSite").innerHTML = file(URL,"text");
} |
L'appelle d'une fonction :
Code:
1 2
|
<a href='#' onClick="moteur('moteur.php?page=accueil');">Retour à l'accueil</a> |
La page moteur.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <?php
include('scripts/include.php');
if(isset($_GET['page']))
{
switch($_GET['page'])
{
case'admin/accueil':include('admin/accueil.php');break;
case'admin/formLive':include('admin/formLive.php');break;
case'reunion':include('reunion.php');break;
case'live':include('live.php');break;
default:include('accueil.php');
}
}
else
{
include('accueil.php');
}
?> |
Et enfin je charge un page, voici un exemple :
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
|
<script>
function test(){
alert('ça marche!');
}
</script>
<table border='1'>
<tbody id="reunion">
<tr>
<th width='300'>Lieu</th><th>Date</th><th>Heure</th>
</tr>
<?php
$i=0;
$reunion1 = requete("select numReunion, lieu, DATE_FORMAT(date,'%d/%m/%Y') as date, DATE_FORMAT(date,'%H:%i') as heure from _jourj_Reunions order by numReunion asc");
while($reunion = mysql_fetch_object($reunion1)){
echo "<tr id='".$reunion->numReunion."'>\n";
$nbMessage1 = requete("select * from _jourj_MessagesLive where numReunion=".$reunion->numReunion);
$nbMessage = mysql_num_rows($nbMessage1);
if($nbMessage != 0){
echo "<td><a href='#' onClick='moteur(\"moteur.php?page=live&numReunion=".$reunion->numReunion."\")'>".$reunion->lieu."</a></td>\n";
} else {
echo "<td>".$reunion->lieu."</td>\n";
}
echo "<td><a href='#' onClick='test()'>".$reunion->date."</a></td>\n";
echo "<td >".$reunion->heure."</td>\n";
echo "</tr>\n";
$i++;
}
?>
</tbody>
</table> |
Sur la derni�re page, quand on clique sur la date. La fonction "test()" devrai r�agir, sauf qu'elle � �t� inclue en javascript dans ma div corpsDuSite et donc il doit lui manquer une sorte de compilation, le navigateur me revoit "test is not defined". J'ai j'ai la solution de charger toute les fonctions javascript d�s le 1er chargement mais ne me plais qu'a moiti�. D�j� �a peut faire crade comme codage et en + �a va mettre du temps � tout charger lors du 1er chargement.
Y a t'il un moyen "compiler" les fonctions incluse avec cette ligne : document.getElementById("corpsDuSite").innerHTML = file(URL,"text"); ?
Merci d'avance !