IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Ordre d'execution et httpRequest


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par d�faut Ordre d'execution et httpRequest
    Bonsoir � tous,

    J'ai un soucis pour effectuer une action basique : modifier le contenu d'un bouton. Le probl�me n'est pas la modification en elle m�me mais plut�t l'ordre d'execution de mon script.

    En effet, lors du clic d'un bouton je lance ma fonction Sub2() :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <input id="btvalidation" type="button" value="Valider" class="bouton" onclick="Sub2();"/>
    Dans cette fonction je commence par modifier mon bouton puis lancer mon httpRequest :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    function Sub2() {
    // Modification de mon bouton
    document.getElementById('btvalidation').value = 'Traitement en cours...';
    // Ma fonction httprequest
    sendData('1', 'null', 'inscription_req_.php', 'POST');
    }
    Le probl�me c'est que mon script execute d'abord mon request puis modifie mon bouton � la fin (soit quelques secondes plus tard) alors que le but de la manoeuvre est justement qu'il soit fait avant.

    Je montre la modification d'un value dans mon exemple mais j'ai essay� avec plusieurs choses (affichage d'une popup, etc...) et �a fait toujours la m�me chose !

    Merci par avance de votre aide.

  2. #2
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Bonjour,
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    <input id="btvalidation" type="button" value="Valider" class="bouton" onclick="this.value='Traitement en cours...';Sub2();"/>
    ...
    function Sub2() {
    // Ma fonction httprequest
    sendData('1', 'null', 'inscription_req_.php', 'POST');
    }
    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par d�faut
    Merci mais j'ai essay� cette fa�on l� aussi, �a me fait le m�me resultat.
    J'ai m�me tent� une fonction r�cursive qui ne lance pas le sendData tant que le value modifi� => m�me r�sultat.

    J'ai l'impression qu'il prend en compte la modification mais qu'il n'affiche qu'� la fin du httpRequest...

  4. #4
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    En faisant comme �a, il n'y a aucune raison.
    Par contre sendData() tout seul, c'est un peu juste pour un appel Ajax

    A+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par d�faut
    J'ai retest� pour bien �tre s�r mais �a ne passe pas

  6. #6
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Comme on ne voit pas tout ton appel Ajax : tu le fais en synchrone ou asynchrone ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par d�faut
    Voici � quoi ressemble ma fonction httprequest, ce sera peut �tre plus simple

    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
    function sendData(id_use, data, page, method) {
    	if(document.all) {
           		//Internet Explorer
           	 	var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
        	}
        	else {
         		//Mozilla
           		var XhrObj = new XMLHttpRequest();
    	    }
    	    if(method == "GET") {
    	        if(data == 'null') {
    	            XhrObj.open("GET", page);
    	        }
    	        else {
    	            XhrObj.open("GET", page+"?"+data);
    	        }
    	    }
    	    else if(method == "POST") {
    	        XhrObj.open("POST", page);
    	    }
     
    	    XhrObj.onreadystatechange = function() {
    			if (XhrObj.readyState == 4 && XhrObj.status == 200) {
    				switch(id_use) {
    					//Inscription
    					case "1":  
    	    	    	    	    document.getElementById('bulle').style.display = 'none';
    					break;
    				}
    			}
    	    }    
    	    if(method == "GET") {
    	    	    XhrObj.send(null);
    	    }
    	    else if(method == "POST" && id_use == 1) {
    XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	        XhrObj.send("submit="+_submit);
    	    }
    	}

Discussions similaires

  1. Ordre d'execution Integration Services
    Par geof dans le forum MS SQL Server
    R�ponses: 7
    Dernier message: 07/11/2007, 15h26
  2. [AS3] Ordre d'execution
    Par eXiaNazaire dans le forum ActionScript 3
    R�ponses: 7
    Dernier message: 17/08/2007, 14h24
  3. [M2] structure multi-modules et ordre d'execution
    Par dvicente72 dans le forum Maven
    R�ponses: 11
    Dernier message: 03/06/2007, 20h41
  4. R�ponses: 5
    Dernier message: 29/12/2005, 13h47
  5. probleme ordre d'execution de ma page asp
    Par Shosho dans le forum ASP
    R�ponses: 5
    Dernier message: 10/05/2005, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo