Chaine de caractere et javascript

Fermé
freeb83 Messages postés 304 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 25 mai 2015 - 16 oct. 2011 à 18:53
freeb83 Messages postés 304 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 25 mai 2015 - 16 oct. 2011 à 19:25
Bonjour,

j'ai une fonction : affiche(text1,text2,text3)
qui necessite 3 attributs pour fonctionner. Si je fais affiche('droite', 'rouge', 'printemps') la fonction marche mais si je fais :
var temp=" 'droite', 'rouge', 'printemps'";
affiche(temp)
cela ne marche pas, je vois pas trop comment ecrire mes " et ' car je pense que le problème vient de là.
D'avance merci pour votre aide.
A voir également:

8 réponses

avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
16 oct. 2011 à 18:57
Salut,

var temp=" 'droite', 'rouge', 'printemps' ";
affiche(temp);


Tu appelles la fonction afficher() avec un seul argument qui est une chaine de caractères. Ce n'est donc pas valide.

Il n'y a pas de méthode permettant de raccourcir, tu es obligé d'écrire les trois arguments séparés par une virgule lorsque tu appelles de la fonction.
1
freeb83 Messages postés 304 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 25 mai 2015 19
16 oct. 2011 à 19:03
Merci beaucoup pour ta réponse. Du coup je peux faire couper la chaine après chaque quote par exemple?
1
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
16 oct. 2011 à 19:06
Que souhaites-tu faire ?

Si tu ne connais pas par avance le nombre d'argument, tu peux utiliser un array.
Par exemple :

function afficher(chaines) {
    for(i in chaines) {
        var chaine = chaines[i];
        /* Traitement pour chaque chaine */
    }
}

var chaines = Array(
    'Chaine 1',
    'Chaine 2',
    /* ... */
);

afficher(chaines);
1
freeb83 Messages postés 304 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 25 mai 2015 19
16 oct. 2011 à 19:11
ben disons que j'ai
var temp=" 'droite', 'rouge', 'printemps' ";
il faudrait que j'arrive à avoir :
var temp1='droite';
var temp2='rouge';
var temp3='printemp';

En tout cas merci de m'aider
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
16 oct. 2011 à 19:15
Utilise les tableaux, comme je te l'ai montré.

Sauf qu'au lieu de « variable1 variable2 variable3 », tu auras « variable[0] variable[1] variable[2] ».

Tu peux facilement exploiter les tableaux avec une boucle « for(i in tableau) { ... } » où i correspond au numéro de l'entrée.
1
freeb83 Messages postés 304 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 25 mai 2015 19
16 oct. 2011 à 19:18
ben le probléme c'est que mes variables reviennent d'une page php lancé par un code ajax et cette page ne me renvoie qu'une chaine de caractère contenant les 3 variables déjà concaténées...
1
freeb83 Messages postés 304 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 25 mai 2015 19
16 oct. 2011 à 19:25
merci bcp, je crois que je vais mettre un refresh sur ma page html, ce sera moche mais bon ....
Bonne soirée
1
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
16 oct. 2011 à 19:20
Alors utilise plutôt JSON, c'est un format faciliter le transfert de données.
0