Passer un parametre de PHP a javascript

Résolu
majax06 -  
briiiiix Messages postés 575 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   18
 
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
Eldest
 
est ce que tu es sur d'avoir fait ta page avec l'extension .php ?
0
Groarh Messages postés 682 Date d'inscription   Statut Membre Dernière intervention   185
 
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
majax06
 
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   Statut Membre Dernière intervention   18
 
DSL pour la petite faute d'inattention.
Ca arrive qu'on soit fatigué !!!
0