[Javascript] passer parametre a une fonction [Résolu/Fermé]

Signaler
Messages postés
524
Date d'inscription
samedi 10 février 2007
Statut
Membre
Dernière intervention
16 octobre 2014
-
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
-
Bonjour!

j'ai un problème de passage de paramètre.
j'ai une fonction avec un passage de paramètre (une date). il se trouve que lors du passage de paramètre, la fonction calcule la date.


exemple:

var ma_date="2010-1-1";
ma_fonction(ma_date);

dans ma fonction lorsque je récupère le paramètre, je me retrouve avec 2008 au lieu de "2010-1-1". ça fait une soustraction de mon paramètre.

j'ai tenté de convertir le paramètre en string mais toujours le même problème.

ma_fonction(ma_date.toString)


j'aimerai savoir comment contourner ce problème

merci

3 réponses

Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
845
Bonjour,

Montre le code de ta fonction, il doit y avoir un problème dedans.
Messages postés
524
Date d'inscription
samedi 10 février 2007
Statut
Membre
Dernière intervention
16 octobre 2014
14
je ne fai rien d'abord dans ma fonction

voila comment ça fonctionne:

j'appelle ma fonction javascript en php:


ma_fonction("2010-1-1")

voici ma fonction javascript:

Code :

function ma_fonction(ma_date)
{
alert (ma_date);
setTimeout("ma_fonction("+ma_date+")",1000)
}


le premier appel de la fonction (en php) se passe correctement.
c'est lorsque la fonction s'appelle elle meme(dans le settimeout) en javascript que ça pose problème.
Messages postés
524
Date d'inscription
samedi 10 février 2007
Statut
Membre
Dernière intervention
16 octobre 2014
14
voici comment éviter cela:


solution 1:

setTimeout("ma_fonction(\""+ma_date+"\")",1000)


solution 2:
setTimeout(function() { ma_fonction(ma_date); },1000);
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
845
Tant mieux si ça fonctionne, mais à mon avis le problème était surtout due à un mic mac au niveau des " ", ce qui fait que ta chaine de caractère était pour le coup interprétée comme un entier au lieu d'une chaine sous javascript.