Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/03/2011, 09h51   #1
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Par défaut Question sur xhrconnection

Bonjour,
j'utilise XHRConnection pour loader une page php dans une partie de mon site.
A ceci s'ajoute un message d'attente.
J'ai deux problèmes :
1 - Le message ne disparait pas que la page est loader
2 - Mon intégration se base sur un tuto qui charge la page quand ont clic sur un bouton. Comment faire pour que le chargement se fasse a l'ouverture de la page principale ?

voici mon code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
// Déclaration de la fonction de callback
var remplirChamp = function (obj) {
		str = obj.responseText;
		rExp = '/"/';
		document.getElementById('zoneCible').value = str.replace(rExp, '\"');			
		document.getElementById('messageChargement').style.display = 'none';
}
 
function chargeFichier() {
	// Création de l'objet
	var XHR = new XHRConnection();		
	XHR.setRefreshArea('zoneCible');
	XHR.sendAndLoad("text.txt", "GET");
	document.getElementById('messageChargement').style.display = 'block';
 
	return true;
}
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 11h10   #2
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
Bonjour,
http://xhrconnection.sutekidane.net/...le-chargement/

1/ A quel moment définis-tu que ta fonction de callback doit être utilisée ?
Code :
XHR.sendAndLoad("text.txt", "GET"..........);
2/ Il suffit d'appeler la fonction qui fait l'ajax au chargement de la page.
Code :
window.onload = mafonction;
par exemple.
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 11h46   #3
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Oui je sais il faut que je mette XHR.sendAndLoad("text.txt", "GET", remplirChamp);
Le problème est que dans ce cas le texte ne s'affiche pas.
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 12h00   #4
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
C'est que tu as surement une erreur dans la fonction de callback. Tu as bien une balise avec 'zonecible' pour id ?
Tu peux faire voir le html ?
Sinon il faut déjà savoir si la fonction de callback est éxécutée. Mets un 'alert' au début. Si il ne s'affiche pas, l'erreur est surement dans la fonction chargeFichier. Si il s'affiche, c'est que la fonction de callback n'arrive pas à faire ce que tu lui demande.

EDIT : je ne crois pas que ton expression régulière pour remplacer les doubles guillemets fonctionne...
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 12h27   #5
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Voici tout le code
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
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $module_name ; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<meta name="robots" content="noindex, nofollow" />
 
<style>
#messageChargement {
    -moz-border-radius: 6px 6px 6px 6px;
    background-color: #4F4F4F;
    border: 1px solid #EEEEEE;
    color: #EEEEEE;
    display: none;
    font-family: arial;
    left: 50%;
    margin-left: -60px;
    padding: 30px;
    position: fixed;
    text-align: center;
    top: 50%;
    width: 300px;
}
</style>
 
<script type="text/javascript" src=<?php echo '"http://' . $_SERVER['HTTP_HOST'] . '/back_office/includes/js/jquery.load.page.js"' ; ?>></script>
 
<script>
// Déclaration de la fonction de callback
var remplirChamp = function (obj) {
		str = obj.responseText;
		rExp = '/"/';
		document.getElementById('zoneCible').value = str.replace(rExp, '\"');			
		document.getElementById('messageChargement').style.display = 'none';
}
 
function chargeFichier() {
	// Création de l'objet
	var XHR = new XHRConnection();		
	XHR.setRefreshArea('zoneCible');
	XHR.sendAndLoad("text.txt", "GET", remplirChamp);
	document.getElementById('messageChargement').style.display = 'block';
 
	return true;
}
</script>
 
</head>
<body>
		<div id="messageChargement"><div style="margin:0 auto;">Chargement des statistiques ...</div></div>	
 
		<div id="zoneCible"></div>
 
		<form name="formulaire" id="formulaire" action="/">
			<input type="button" name="charger" value="Charger le fichier" class="button" onclick="chargeFichier();" />
		</form>
</body>
</html>
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 12h31   #6
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
Une div n'as pas de value...
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 12h36   #7
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Quoi ?
Je ne comprend pas, il n'y a pas de value dans mes div.
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 12h46   #8
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
Code javascript :
document.getElementById('zoneCible').value = str.replace(rExp, '\"');
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 13h07   #9
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Haaaaaa oui en effet.
Heuuu, il faut faire comment, bah oui je n''y connait rien en js dsl.
j'ai testé différente chose. j'ai enlevé le .value, rajouté un # dans le nom de l'id.
Mais je sèche.
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 13h24   #10
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
Code javascript :
document.getElementById('zoneCible').innerHTML = str.replace(rExp, '\"');

Mais si tu n'y connais rien en javascript, il faudrait peut-être faire un tour sur les tutos et la FAQ, avant de l'utiliser !
(AJAX = Asynchronous Javascript And Xml)

Si ton objet XHRConnection te permet de manipuler l'ajax plus facilement, il ne te dispense pas de savoir faire du javascript !
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 13h44   #11
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Merveilleux ca marche, merci beaucoup de ton aide.
Concernant le Js, j'apprends a mesure de mes besoins, mais il me faut un peux d'aide pour avancer.
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h58.


 
 
 
 
Partenaires

Hébergement Web