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

Messages postés
528
Date d'inscription
samedi 10 février 2007
Statut
Membre
Dernière intervention
9 août 2017
- - Dernière réponse : kij_82
Messages postés
4100
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
2 septembre 2013
- 3 mai 2010 à 13:30
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
Afficher la suite 

3 réponses

Messages postés
4100
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
2 septembre 2013
825
0
Merci
Bonjour,

Montre le code de ta fonction, il doit y avoir un problème dedans.
Messages postés
528
Date d'inscription
samedi 10 février 2007
Statut
Membre
Dernière intervention
9 août 2017
13
0
Merci
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
528
Date d'inscription
samedi 10 février 2007
Statut
Membre
Dernière intervention
9 août 2017
13
0
Merci
voici comment éviter cela:


solution 1:

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


solution 2:
setTimeout(function() { ma_fonction(ma_date); },1000);
kij_82
Messages postés
4100
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
2 septembre 2013
825 -
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.