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 11/07/2011, 11h22   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 251
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 251
Points : 13
Points : 13
Par défaut Commande 'onclick' pour executer 2 actions

Bonjour,

Je cherche à executer 2 actions avec un bouton 'onclick' :

- envoyer une commande GET
- puis demander le refresh de la page

Actuellement le code ci-dessous effectue une action 'GET' et le serveur distant execute bien l'action espérée mais il ne rafraichi pas la page HTML alors qu'avec un simple bouton web le rafraichissement / rechargement de la page s'effectue bien :

Code avec javascript qui ne rafraichi pas la page après execution :
Code :
<input type="button" value="onclick" onClick="newAJAXCommand('index.htm?clr_ev=CLR');">

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
function newAJAXCommand(url, container, repeat, data)
{
	// Set up our object
	var newAjax = new Object();
	var theTimer = new Date();
	newAjax.url = url;
	newAjax.container = container;
	newAjax.repeat = repeat;
	newAjax.ajaxReq = null;
 
	// Create and send the request
	if(window.XMLHttpRequest) {
        newAjax.ajaxReq = new XMLHttpRequest();
        newAjax.ajaxReq.open((data==null)?"GET":"POST", newAjax.url, true);
        newAjax.ajaxReq.send(data);
    // If we're using IE6 style (maybe 5.5 compatible too)
    } else if(window.ActiveXObject) {
        newAjax.ajaxReq = new ActiveXObject("Microsoft.XMLHTTP");
        if(newAjax.ajaxReq) {
            newAjax.ajaxReq.open((data==null)?"GET":"POST", newAjax.url, true);
            newAjax.ajaxReq.send(data);
        }
    }
 
    newAjax.lastCalled = theTimer.getTime();
 
    // Store in our array
    ajaxList.push(newAjax);
}

Ici, le code HTML envoi l'action et rafraichi bien la page ensuite :
Code :
1
2
3
<form method="get" action="index.htm">
<input name="clr_ev" type="submit" value="CLR">
</form>
Pouvez vous me dire pourquoi le code javascript associé a 'onclick' ne génére pas de rafraichissement de la page ?

Je vous remercie de votre aide,
lcoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 11h41   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 803
Points : 35 803
Citation:
mais il ne rafraichi pas la page HTML
La question à se poser est : à quel moment demandes-tu à la page de se rafraîchir ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 12h17   #3
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 251
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 251
Points : 13
Points : 13
je voudrai que le rafraichissement soit demandé après que l'action GET ai été executée, car le serveur aura modifié les données.
lcoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 12h55   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 803
Points : 35 803
La question que je posais n'est pas "à quel moment souhaiterais-tu que la page se recharge", mais "à quel moment dans ton code indiques-tu qu'il faut recharger la page". En d'autres termes, il ne faut pas s'étonner qu'il n'y ai pas de rechargement puisque tu n'indiques jamais qu'il faut en faire un.
La solution est donc de coder le rechargement de la page quand le serveur a envoyé la réponse.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 13h02   #5
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 251
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 251
Points : 13
Points : 13
Peux tu me montrer comment coder le rechargement de la page lorsque le serveur aura envoyé la réponse ?

Faut il ajouter cela dans la fonction Ajax ou bien cela peut être rajouté a la commande 'onclick' ?

En fait je débute vraiment en Ajax et je ne connais le code qui peut permettre un refresh lorsqu'un serveur a répondu.

Si tu peux me montrer comment procéder ?
lcoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h45.


 
 
 
 
Partenaires

Hébergement Web