Retourner valeur Fonction

cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011 - 27 nov. 2006 à 18:51
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011 - 27 nov. 2006 à 21:50
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

cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
27 nov. 2006 à 18:51
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...
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
27 nov. 2006 à 19:08
 
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)
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
27 nov. 2006 à 19:26
Je ne comprend pas vraiiment ce que tu veux dire :(

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

merci
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
27 nov. 2006 à 20:45
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
27 nov. 2006 à 21:08
Bah j'ai déjà essayé ceci mais ca n'a pas marché ....
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
27 nov. 2006 à 21:36
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)
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
27 nov. 2006 à 21:50
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
0
Rejoignez-nous