Rechercher : dans
Par :

Probleme javascript passage de parametre

Dernière réponse le 4 sep 2009 à 22:18:01 stephane, le 1 avr 2008 à 09:54:24 
 Signaler ce message aux modérateurs

Bonjour,

j'ai une application web a developez mais avant sa je m'exercais a javascript et je suis tombé sur un petit probleme que voici:

lorsque je fait dans un fichier

var a='bonjour';
si je fait : alert(a); la j'ai l'affichage de bonjour jusque la tout va bien.

si maintenant je fait:
window.setTimeout('alert(\'bonjour\');', 20);

(N.B: le 20 corresond a un parametre de setTimeout qui va executer alert dans 20milisecondes ici)
j'ai le meme resultat en entrant la chaine bonjour sans l'aide d'une variable donc pas de probleme


mais la stupeur si je fais ça:
var a='bonjour';
window.setTimeout('alert(a);', 20);

la aucun affichage c'est donc bien un probleme de lie a setTimeout ou peut etre tout simplement au passage de variable a une fonction dans un fonction?

est ce que vraiment quelqu'un aurait une reponse?

ps : je suis sous debian avec comme navigateur iceweasel (version libre du navigateur firefox)

merci d'avance pour vos reponses

Configuration: Linux Debian
Mozilla 1.8.1.12

Meilleures réponses pour « probleme javascript passage de parametre » dans :
[Mozilla Firefox] Sauvegarder les paramètres VoirSauvegarder / Restaurer les paramètres de Firefox, les marque-pages, historique et les extensions installées Commencez par afficher les fichiers cachés. Sous Vista, il faut s'approprier le dossier C:\users\Utilisateur*\Application Data pour...
Javascript - Manipulation des contrôles clavier VoirManipulation des contrôles clavier Cette astuce a pour but de vous faire découvrir la (ou du moins une) manière de contrôler les évènements clavier en javascript. Cela vous permettra de contrôler/attribuer les/des comportements particuliers à...
Facebook - Changer son mot de passe VoirPour changer son mot de passe sur Facebook, il suffit de suivre la procédure suivante : 1- Ouvrir Facebook 2- Cliquer sur "Paramètres" en haut à droite 3- Cliquer sur "Modifier" dans la catégorie "Mot de passe". 4- Changer le mot de passe

1

giheller, le 1 avr 2008 à 13:08:09

Bonjour

alert(a) affiche le contenu de a
mais
dans

window.setTimeout('alert(a);', 20);

il ne doit pas considérer a comme une variable à cause de la syntaxe qui demande des guillemets.
alors que dans window.setTimeout('alert(\'bonjour\');', 20); on a une chaine de caractères.

sans certitude de ce que j'avance.
JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail

Répondre à giheller

2

stephane, le 1 avr 2008 à 13:50:59

Merci c'est bon

Répondre à stephane

3

giheller, le 1 avr 2008 à 14:07:24

Quelle est la solution que tu as adoptée ?

il est bon que tu l'explicite et que tu mettes le problème en résolu.
merci pour la communauté. JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail

Répondre à giheller

4

chantaussel, le 14 avr 2008 à 19:08:51

Salut stephane!

Je serais très très intéressée par ta solution car j'ai le même problème, mais je ne peux malheureusement pas passer mon paramètre sous forme de chaine de caractère.

As-tu trouvé un moyen?

Merci!


EDIT: Voilà, après quelques tâtonnements avec les double et simple quotes, on y arrive:

parametre='trucbidule';
window.setTimeout("fonction('"+parametre+"')",1000);


Quelques bases en javascript, débute en php/mySQL
J'essaie de mettre en ligne mon arbre généalogique.

Répondre à chantaussel

5

Nelim, le 30 jun 2009 à 16:09:03

Window.setTimeout('alert(a);', 20);

=> Même si a contient bonjour, alert(bonjour) ne fonctionne pas, par contre alert('bonjour') fonctionne !

Il faut donc mettre

var a = 'bonjour';
window.setTimeout('alert(\'a\');', 20);

Répondre à Nelim

6

 Superfly, le 4 sep 2009 à 22:18:01

Non, car ça va afficher "a".
J'ai une solution de contournement:

var a = ""; //a est une variable globale

fonction_intermediaire
{
alert(a);
}

a="bonjour";
window.setTimeout(fonction_intermediaire, 20);

Répondre à Superfly
Collection CommentÇaMarche.net