Passer un parametre de PHP a javascript

Résolu/Fermé
majax06 - 28 oct. 2008 à 13:23
briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 - 28 oct. 2008 à 14:11
Bonjour,
Je dois etre fatigué......;-)
mais ca fait un moment que je me prend la tete

J'ai un jeu de JS de validation qui commence par appeller de HTML a JS
onclick='javascript:(var lang="<?php echo $lang;?>";ChangeStatut(this.form);)'

PHP fournissant le contexte linguistique : fr ou eng
ce qui est au dessus fonctionne meme si pour l'instant la fonction JS n'exploite pas la variable lang

et c'est bien la le soucis

des que en premiere ligne de la fonction ChangeStatut je mets un
alert(lang);
ca ne marche plus ce qui montre bien que je ne sais pas passer la valeur lang correctement

J'ai bien essayé
onclick='javascript:(ChangeStatut(this.form,<?php echo $lang;?>);)'
en definissant la fonction JS avec 2 parms
pas mieux

j'ai essayé de passer la veleur entre " dble quot" ou 'simple quote'
je seche
anyone ?
A voir également:

5 réponses

briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 18
28 oct. 2008 à 13:27
Si ta fonction accepte deux parametres essaies:

onclick="ChangeStatut('this.form','<?=$lang?>')"

Normalement ça doit marcher, sinon fais voir ta fonction Changestatus pour essayer de l'adapter
1
est ce que tu es sur d'avoir fait ta page avec l'extension .php ?
0
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
28 oct. 2008 à 13:35
Non briiiiix, non !
La syntaxe <?= ... ?> n'est pas portable, et this.form est un objet, il ne doit pas être encadré par des quotes !
Par contre il manquait effectivement des quotes autour de <?php echo $lang;?>, doubles ou simples, peu importe.
majax06, donne-nous des nouvelles ;)
0
fabuleux ce forum , la reactivité !!!!!
merci les gars mais j'ai trouvé largement plus simple et deja documenté dans ce forum

passer une variable hidden au formulaire
du type

<input name="Langue" value="<?php echo $lang; ?>" type="hidden" />

et apres dans le JS (et meme pas dans la premiere fonction appellee mais seulement 2 ou 3 niveaux plus bas)

lang= thisformulaire.Langue.value;

if (thisformulaire.Prenom.value === "")
{ if (lang==="fr") {pstr=" Votre Prenom\n";} else { pstr=" Your first name\n";}
isOK = isOK+pstr ;
mycount=mycount+1;
thisformulaire.Prenom.className = 'champcontacterreur';}
0

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

Posez votre question
briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 18
28 oct. 2008 à 14:11
DSL pour la petite faute d'inattention.
Ca arrive qu'on soit fatigué !!!
0