[Javascript] passer parametre a une fonction

Résolu
brudao Messages postés 553 Statut Membre -  
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    Bonjour,

    Montre le code de ta fonction, il doit y avoir un problème dedans.
    0
  2. brudao Messages postés 553 Statut Membre 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.
    0
  3. brudao Messages postés 553 Statut Membre 14
     
    voici comment éviter cela:

    solution 1:

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

    solution 2:
    setTimeout(function() { ma_fonction(ma_date); },1000);
    0
    1. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
       
      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.
      0