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 :

plusieurs fonctions avec onclick


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut plusieurs fonctions avec onclick
    Slt les développeurs!
    j'ai un probleme assez bizzarre...
    J'ai un bouton (créé dynamiquement) et qui, onclick=> devrait declencher
    plusieurs (3) fonctions.
    Mais rien de tout ca ne marche si je ne fais pas un alert apres la premiere fonction

    voici mon code:

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
     
    function callAjax(url, pageElement, callMessage, errorMessage) {
    	document.getElementById(pageElement).innerHTML = callMessage;
    	try {
    		req = new XMLHttpRequest();
    		/* e.g. Firefox */
    	} catch (e) {
    		try {
    			req = new ActiveXObject("Msxml2.XMLHTTP");
    			/* some versions IE */
    		} catch (e) {
    			try {
    				req = new ActiveXObject("Microsoft.XMLHTTP");
    				/* some versions IE */
    			} catch (E) {
    				req = false;
    			}
    		}
    	}
    	req.onreadystatechange = function() {
    		responseAjax(pageElement, errorMessage);
    	};
    	req.open("GET", url, true);
    	req.send(null);
    }
     
    function responseAjax(pageElement, errorMessage) {
    	var output = '';
    	if (req.readyState == 4) {
    		if (req.status == 200) {
    			output = req.responseText;
    			document.getElementById(pageElement).innerHTML = output;
    		} else {
    			document.getElementById(pageElement).innerHTML = errorMessage
    					+ "\n" + output;
    		}
    	}
    }
     
     
    function loadMainContent() {
     
    	callAjax('load.php?sentAttribut=show_main_content', 'main_content',
    			"<img src='images/loader.gif /> Please Wait...", 'Error');
    //	alert('');
    }
     
    function showFieldsets()
    {
    	if(document.getElementById('details')!=null)
    		document.getElementById('details').style.display = 'none';
    	if(document.getElementById('result')!=null)
    		document.getElementById('result').style.display = 'block';
    }
     
    function set_searchButton_onclick(searchAttribut)
    {	
    	this.loadMainContent();
    //	alert('');
    	this.showFieldsets();
    	this.loadSearchResult(searchAttribut);
    }
     
    function setSeachButton() {
    	// alert(document.getElementById('details'));
    	var searchButton = document.createElement("input");
    	var sel = document.getElementById('searchOption');
    	var searchAttribut = sel.options[sel.selectedIndex].value;
    	var td = document.getElementById('searchButton');
     
    	searchButton.type = "button";
    	searchButton.value = "Suchen";
    	searchButton.alt = searchAttribut;
    	searchButton.setAttribute('onclick', "set_searchButton_onclick(this.alt);");
    	while (td.hasChildNodes()) {
    		td.removeChild(td.firstChild);
    	}
    	td.appendChild(searchButton);
    }


    MERCI pour toute aide

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Bonjour,

    Vous faites de l'Ajax asynchrone. Donc lorsque vous lancez votre appel Ajax, cela prend un certain temps. Sauf que Javascript n'attend pas. Il lance directement l'instruction suivante.
    Avec l'alert, l'appel Ajax a le temps de se terminer.

    Ce que je fais souvent c'est appeler le reste des instructions dans la fonction de réponse de l'appel Ajax. Comme ça je suis certain qu'elles s'éxecutent l'une après l'autre et non pas en même temps.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    MERCIIIIIIIIIIIIIIIIIIIIIIII

    j'ai passés des jours à chercher l'erreur.. ca, il fallait le savoir!!
    merci Vermine... je vous offre un café

  4. #4
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut De rien
    Du thé, je préfère.

    Mais ce n'est pas la seule solution. Il y a des réglages Ajax que je ne maitrise pas bien.

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    le thé est en route

    je vais fouiller plus tard les dessous de ajax...

    encore une fois, you're a life saver!

    merciiiii

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher/Cacher plusieurs images avec OnClick
    Par lex89 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/11/2012, 15h36
  2. Formulaire et plusieurs bouttons avec "onclick"
    Par ganguill dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 27/04/2010, 17h15
  3. Réponses: 3
    Dernier message: 25/07/2006, 09h25
  4. Problème onclick/lien/fonction avec IE
    Par kankrelune dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 21/06/2006, 17h46
  5. Requête à plusieurs colonnes avec la fonction COUNT
    Par zigune dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/11/2004, 10h43

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