Passage variable en javascript

WRInaute passionné
Salut !
Je suis une bille en JS et je me tape la tête sur une fonction depuis 3heures au moins...
Je vais essayer d'être clair :

Code:
function fct(val1,val2)
	{
	var val3 = new obj(val1,val2);
	....
	}

Ca ne marche pas (le résultat numérique attendu n'est pas le bon).
Pourtant en faisant un alert() dans obj j'ai bien les bonnes valeurs...
:evil:
Par contre si je remplace val1 et val2 par leurs valeurs dans fct, ça marche. (j'ai le bon résultat numérique.)

ex :
Code:
function fct(val1,val2)
	{
	var val3 = new obj(12.4,7.1);
	....
	}

J'imagine qu'il y a une transmission qui ne se fait pas qqelque part... y'a un truc que je n'ai pas vu ??


Merci !
 
WRInaute accro
Pitet en déclarant val1 et val2 ?

function fct(xx1,xx2)
{
var val1=xx1;
var val2=xx2;
var val3 = new obj(val1,val2);
....
}
 
WRInaute passionné
Merci ! mais non, j'avais déjà essayé (j'ai retesté...) mais pas de solution de ce coté là...
Je viens de pousser un peu plus le diag, le problème ne se rencontre que pour la deuxième variable...

pas d'autres idées ??
J'avoue que je suis un peu perplexe.. :?
 
WRInaute discret
jeroen a dit:
Pourtant en faisant un alert() dans obj j'ai bien les bonnes valeurs...
Le alert(), tu le mets dans la fonction ?


édit: c'est peut etre une histoire de type de valeurs ? (genre string au lieu de numérique)
 
WRInaute passionné
le alert je le met dans la fonction obj, effectivement. Et je récupère bien la bonne valeur, mais pas le résultat final. :evil:
 
WRInaute passionné
Je vais essayer de vous donner plus d'éléments :

j'ai récupéré un script qui permet de faire un certain calcul.

le script fait juste 3 ligne pour le calcul
(toutes les fonctions sont appelées depuis une page annexe) :

Code:
var v1 = new LatLng(13.4,5.2);
var v2 = v1.toUTMRef();
document.write("resultat: " + v2.toString());

je voulais simplement faire le calcul en direct sur 3 cases de formulaire : val1, val2, et resultat.

j'ai donc fait un petit script qui appelle la fonction affiche_resultat() sur un onkeyup dans les champs val1 et val2

Code:
function affiche_resultat(val1,val2)
	{
	var v1 = new LatLng(val1,val2);
	var v2 = v1.toUTMRef();
	document.getElementById('resultat').value=v2.toString();
	}

et là ça ne marche pas, mais si dans l'appel de la fonction LatLng je remplace val1 et val2 par des valeurs numériques, ça marche.

J'ai bien essayé de faire des alert un peu partout, les valeurs de val1 et val2 sont bien transmises
:evil:


Qui a du talent ? parce que moi je suis dans l'impasse....
 
WRInaute passionné
ok, j'ai vérifié les types, et c'était bien ça...
j'ai donc rajouté

Code:
var1 = parseFloat(var1);
var2 = parseFloat(var2);

dans la fonction.



Un GRAND merci, je ne crois pas avoir passé autant de temps sur un problème que sur celui-là....
 
Discussions similaires
C
Réponses
4
Affichages
1K
christele2
C
Haut