begin process at 2010 03 18 23:45:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Lancer une fonction après la fin d'exécution d'une autre fonction


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lancer une fonction après la fin d'exécution d'une autre fonction

mardi 9 décembre 2008 à 17:11:50 | Lancer une fonction après la fin d'exécution d'une autre fonction

bm3w325i

Bonjour,

Actuellement j'ai un input qui lors d'un Onclick se rempli par des coordonnées GoogleMaps, un fois rempli je récupère les données pour les afficher dans un textarea.

Le problème est que lorsque j'utilise à plusieurs reprise le onclik pour afficher plusieurs coordonnées qui s'affiche les unes derriere les autres, ces coordonnées s'affiche deux fois de suite ce qui implique que les coordonnées sont recuperer avant le rafraichissement du input!

Une idée?? j'esperer etre assez clair car ce n'est pas tres facil à expliquer ^^

les codes:

function initialize() {                           // Fonction qui recupere les coordonnées!!!
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        GEvent.addListener(map, "moveend", function() {
          var center = map.getCenter();
          var s = document.getElementById("message").value = center.toString(); // ENVOI les données à l'Input ('message')
            var s1 = s.replace(/ /,"");
            var s2= s1.replace(/\(/,"");
            var s3= s2.replace(/\)/,"");
            document.getElementById('message').value= s3;//coordonnées Lg & Lt
       
        });
        //map.setCenter(new GLatLng(-19.808054, 22.939453), 4, G_SATELLITE_MAP);
           
        geocoder = new GClientGeocoder();
              
      }
  }

FONCTION qui recupere les données de l'input pour les mettre ds le textarea 'A'

function getURL()    {
     
      if(document.getElementById('message').value!==""){
      var i;
    var selectedList = new Array();
    var selectBox = document.getElementById("Villes"); // on cible le select
    var coo = document.getElementById("message").value;
     
    if (document.getElementById('Box').elements[0].checked==true)
        {
        for (i=0; i<selectBox.options.length; i++)
        {   if (selectBox.options[i].selected)
            {
            document.getElementById('A').value+= "http://............="+coo+',red'+i; // affiche la premeire partie du texte area apres le Onclick
            }
        }
        }
    else if (document.getElementById('Box').elements[1].checked==true)
        {
        for (i=0; i<selectBox.options.length; i++)
        {   if (selectBox.options[i].selected)
            {
            document.getElementById('A').value+= "|"+coo+",red"+i;  ajoute les coordonnées apres la 1ere.
            }
        }
        }
           
      }
    };

Input,Onclick, textarea:

<input type="text" class="form" id="message" size="50" value=""/>
<input name="submit" id="button" type="submit" value="Valider!" onclick='recup(); getURL()' />

<script type="text/javascript">
            <!-- Debut
            var b= 'rr';
            document.write('<form action="" method="">');
            document.write('<textarea name="le_texte" id="A" rows="10" cols="40">'+ b +''+ ET +'</textarea><br />');
            document.write('</form>');
            // fin -->
        </script>

merci



mercredi 10 décembre 2008 à 10:34:15 | Re : Lancer une fonction après la fin d'exécution d'une autre fonction

bm3w325i

Je vois que ma question ne motive pas les foules, peut être pas très compréhensible. Pour faire plus simple comment faire pour etre sur qu'une fonction "B" se lance quand la "A" se termine?

merci
mercredi 10 décembre 2008 à 11:18:57 | Re : Lancer une fonction après la fin d'exécution d'une autre fonction

Bul3

Membre Club
bonjour,
          lance ta fonction B dans la fonction A

mais je pense que ton souci est ailleurs !
>>Le problème est que lorsque j'utilise à plusieurs reprise le onclik pour afficher plusieurs coordonnées
>>qui s'affichent les unes derriere les autres, ces coordonnées s'affichent deux fois de suite ce qui
>>implique que les coordonnées sont recuperer avant le rafraichissement du input!
efface avant d'ajouter....

Cordialement

          [mon Site] [M'écrire] Bul         

mercredi 10 décembre 2008 à 11:38:30 | Re : Lancer une fonction après la fin d'exécution d'une autre fonction

bm3w325i

Merci pour ta réponse mais mes capacités en JScript sont assez limité je débute et je ne sais pas trop comment faire ce que tu me conseil:


fonction B dans la fonction A =>

est ce que l'on fait comme ca:

 function A(){
         functionB(){}
                    };


efface avant d'ajouter =>
Aurais-tu un peut plus d'info? cela me semble etre une bonne solution.
Je dois faire quelque chose comme input.value=""??
mercredi 10 décembre 2008 à 11:48:05 | Re : Lancer une fonction après la fin d'exécution d'une autre fonction

Bul3

Membre Club
Réponse acceptée !

function b()
{...}
function a()
{....
 ....
 b();
}

mais est-ce que cela résoudra ton problème ? je doute !
( ou tout au moins, c'est mettre une emplâtre sur une jambe de bois )


          [mon Site] [M'écrire] Bul         

mercredi 10 décembre 2008 à 11:51:15 | Re : Lancer une fonction après la fin d'exécution d'une autre fonction

bm3w325i

Je vais faire des test mais ne t inquiet tu viens de m'apprendre quelque chose de genial, sur plein de petit projet j ai voulu trouver comment lancer une fonction a partir d'une fonction sans jamais trouver ^^ et c'etait si simple que ca loool.

Merci ^^
mercredi 10 décembre 2008 à 12:24:54 | Re : Lancer une fonction après la fin d'exécution d'une autre fonction

bm3w325i

Je viens de faire un test et la fonction B en sous fonction etait bien la solution ^^

Un grand Merci Bul3 :)
mercredi 10 décembre 2008 à 12:40:37 | Re : Lancer une fonction après la fin d'exécution d'une autre fonction

Bul3

Membre Club
nickel si ça baigne, je n'ai pas tout lu,
donc probablement pas tout compris à ton souci
et certes...
mais  document.getElementById('A').value=""; pour effacer avant
de faire les ajouts... ça ne conviendrait pas ?

  [mon Site] [M'écrire] Bul 

mercredi 10 décembre 2008 à 12:52:44 | Re : Lancer une fonction après la fin d'exécution d'une autre fonction

bm3w325i

J'ai essayer et ca me retourne une valeur vide a chaque fois alors je l'ai surement placé au mauvaise endroit, mais au final la solution de la sous-fonction est genial car elle se lance quand le input est remplie avec la nouvelle valeur et non juste avant ^^.

J'ai un autre souci et pour ne pas réouvrir un sujet peut être aurai tu encore un super réponse ^^:

=> Dans :

"for (i=0; i<selectBox.options.length; i++)
        {   if (selectBox.options[i].selected)
            {
            document.getElementById('A').value+= "http://............="+coo+',red'+i;"

à la fin je met la variable  "i" pour qu'il me retourne la valeur du choix, c'est a dire lors du premier choix il me met 1, lors du 2eme "2" ...etc; le problème ici c'est qu'il me retourne le numero de l'index ce qui est normal au final car je travail sur "i<selectBox.options.length".

Normalment, si je ne me trompe pas il me faut une boucle for, mais je ne sait pas sur quoi travailler?

merci


mercredi 10 décembre 2008 à 14:30:53 | Re : Lancer une fonction après la fin d'exécution d'une autre fonction

Bul3

Membre Club
pas assez de données pour répondre...
id="A".value c'est quoi ?
et là, tu ajoutes plusieurs "http" ?
>>e problème ici c'est qu'il me retourne le numero de l'index ce qui est normal
>>au final car je travail sur "i<selectBox.options.length
navré... pas compris.
ce genre de choses peut poser problème, si je suppuet comme il faut,
  mais pas dans les circonstances que tu décris
          [mon Site] [M'écrire] Bul         


1 2 3

Cette discussion est classée dans : fonction, var, document, coordonnées, getelementbyid


Répondre à ce message

Sujets en rapport avec ce message

Problème avec REGEX sous IE [ par death83 ] Salut a tous,je suis entrain de faire un petit script qui fonctionne bien sauf sur IE. J'ai une fonction qui permet la génération automatique d'un tex fonction avec en paramétre getElementById [ par kyoku59 ] Bonjour. Je flanche sur un problème surement évident mais impossible de trouver. Voilà j'ai une fonction avec en paramétre des éléments id de mon cod Aide a la création d'une fonction [ par kyoku59 ] Bonjour. Voila j'ai cette fonction : [code=js] function heures() { var tabHeure= new Array("01","02","03", "04", "05","06","07", "08" Bouton image qui appelle une fonction js [ par philreut ] Bonjour, j'ai un formulaire dynamique créé par une fonction js dans lequel je souhaite intégrer une possibilité de supprimer des entrées existantes. unterminated string literal [ par kangun ] Bonjour. je me tourne vers vous suite à un problème apparut sur un java script. en effet, je souhaite afficher une bulle au dessus d'une image et chan récuperer données table [ par anasjava ] Je suis débutant en java  et  j'ai  un petit souci, je remli une table par des donnée Problème de script faisant ralentir ie [ par gregusse ] Bonjour ! J'ai un problème sur un script que j'ai codé. J'ai le message de IE "un script fait ralentir internet explorer ...". Apparemment c'est à ca Cet objet ne gere pas cette methode ou cette propriété [ par timalin ] Bonjour, le code ci-dessous est tiré d'un code complet mais comporte une erreur quand je le lance sous Ulimate 7 mais marche bizarement sous XP pro.Ca [déplacé Bar -> JS] tableaux [ par nabilwael ] Bonjour,j'ai ce fichier js :var i = 0;    function create_champ(){    if(i        document.getElementById('champs').innerHTML += " Name</label&gt envois de formulaire ajax [ par Annadrill ] bonjour,voilà, j'aimerais modifier la fonction que je vous mets la dessous, de manière a pouvoir l'utiliser avec n'importe quel formulaire, en précisa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,544 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales