Retourner valeur Fonction

Signaler
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Statut
Membre
Dernière intervention
13 mai 2011
-
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Statut
Membre
Dernière intervention
13 mai 2011
-
Bonsoir, je souhaite récupérer deux valeurs d'une fonction. J'ai fait le code suite :

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

<script type="text/javascript">
var geocodeur = new GClientGeocoder();
var situer;
 
function Localiser(adresse){
if(geocodeur){
geocodeur.getLatLng(adresse, function(situer){
if(!situer){
dt = "Impossible de localiser l'adresse";
}else{
dt = ""+situer+"";
}
//document.close();
});
}
}
 
function parseResult(localisation){
var a = localisation.split(",");
var b = a[0].split("(");
var c = a[1].split(")");
//document.write("Géolocalisation -->");
//document.write("latitude : " + b[1] + " | ");
//document.write("\n\n");
//document.write("longitude : " + c[0]);
//document.close();
}
</script>

<!-- END TEMPLATE: bbcode_code -->

J'ai un formulaire, et quand je valide, ça exécute la fonction :

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

Localiser('<?php echo $departement." ".$ville." ".$cp;?> france');
setTimeout('parseResult(dt)',200);

<!-- END TEMPLATE: bbcode_code -->

Donc si je laisse les document.write, j'ai bien l'affichage du résultat attendu.

Mon but serait plutot de retourner la valeur c[0] et b[1] de la fonction et de l'afficher.


J'ai essayer en faisant :

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

<script>
Localiser('<?php echo $departement." ".$ville." ".$cp;?> france');
setTimeout('parseResult(dt)',200);
document.write("->" + c[0]);
</script>

<!-- END TEMPLATE: bbcode_code -->

J'ai rajouter dans la fonction un return comme ceci :

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

function parseResult(localisation){
var a = localisation.split(",");
var b = a[0].split("(");
var c = a[1].split(")");
return c[0];
//document.write("Géolocalisation -->");
//document.write("latitude : " + b[1] + " | ");
//document.write("\n\n");
//document.write("longitude : " + c[0]);
//document.close();
}

<!-- END TEMPLATE: bbcode_code -->

Mais cela ne m'affiche rien ... Ou ai-je fait une erreur a votre avis ? Merci et bonne soirée

7 réponses

Messages postés
345
Date d'inscription
lundi 15 mars 2004
Statut
Membre
Dernière intervention
13 mai 2011

J'ai essayé de faire en deux fonctions puisque je veux récupéré deux valeurs :

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

function parseResultLat(localisation){
var a = localisation.split(",");
var b = a[0].split("(");
var c = a[1].split(")");
document.write(b[1]);
}
 
function parseResultLon(localisation){
var a = localisation.split(",");
var b = a[0].split("(");
var c = a[1].split(")");
document.write(c[0]);
}

<!-- END TEMPLATE: bbcode_code -->
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

mysql_query("INSERT INTO `Entreprises` (`lattitude`,`longitude`) VALUES ('?><script>parseResultLat(dt);</script><?php','?><script>parseResultLon(dt);</script><?php')");

<!-- END TEMPLATE: bbcode_code -->

Ca n'ajout que des <!-- BEGIN TEMPLATE: bbcode_quote -->

Citation:
0.000000 0.000000

<!-- END TEMPLATE: bbcode_quote --> dans la Base de Données...
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
 
Bonjour...

pourquoi ne pas retourner un tableau exemple
<html>
<head>
<title>Test...</title>
<script type="text/javascript">

//--------------
function Recup(){
  var T_Temp = new Array();
  T_Temp[0]  = 1;

  T_Temp[1]  =
2;




  T_Temp[2]  =
"Bonjour Vous";
  return( T_Temp);

}

var T_Data = new Array();
T_Data =
Recup();


for( var i=0; i <T_Data.length; i++)
  document.write( T_Data[i]+"
");
</script>
</head>

</html>








;0)
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Statut
Membre
Dernière intervention
13 mai 2011

Je ne comprend pas vraiiment ce que tu veux dire :(

Peux tu m'expliquer en fonction de ce que j'ai deja fait ?

merci
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Les données que tu récupéres tu les mets dans un tableau et tu retournes celui ci
par exemple...

//--------------------------------


function


parseResult(localisation)


{
  var T_Temp = new Array();












  var


a = localisation.split(",");
  var b = a[0].split("(");
  var c = a[1].split(")");





  T_Temp[0] = b[1];



  T_Temp[1] =
c[0];


  return( T_Temp);

}




document.write("latitude  : " +T_Data



[0] + " | ");







document.write("longitude : " +


T_Data


[1]);











;0)
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Statut
Membre
Dernière intervention
13 mai 2011

Bah j'ai déjà essayé ceci mais ca n'a pas marché ....
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bonsoir, je souhaite récupérer deux valeurs d'une fonction



donc apparament ton soucis est ailleurs...



ou veux tu l'écrires ?
- dans un document vierge
- dans un








Localiser('<?php echo $departement." ".$ville." ".$cp;?> france');




setTimeout('parseResult(dt)',200);





en appellant de la sorte tu ne récupéres pas de données...

Il te faut intégrer la fonction d'affichage dans la fonction parseResult...et mettre le résultat dans un
par exemple
un truc dans le style




var Html ="";



Html += "Géolocalisation -->";


Html += "latitude : " + b[1] + " | ";

Html += "

";

Html += "longitude : " + c[0];





document.getElementById('REPONSE').innerHTML =Html;






Mais ai je bien saisi ton soucis ?
;0)
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Statut
Membre
Dernière intervention
13 mai 2011

Au final, je souhaite afficher les valeurs dans ma base de données sachant que j'ai deux colonnes : latitude et longitude...
Localiser('<?php echo $departement." ".$ville." ".$cp;?> france');

setTimeout('parseResult(dt)',200);

Ceci m'affiche bien des valeurs style (73.482827,-0.382829)

Merci