Ce forum est maintenant fermé, seule cette archive statique reste consultable.
  FORUM Matbe.com
  OS, Software, Réseaux
  Programmation

  [PHP/JS] Syntaxe de paramètres de fonction variables

Bas de page
Auteur Sujet :

[PHP/JS] Syntaxe de paramètres de fonction variables

n°73364
jolamouche
Posté le 05-10-2011 à 14:25:00  
 

Salut à tous.
I have a souçaï. Je n'arrive pas à trouver la bonne requête:
 

Code :
  1. echo "<input type='button' value='Ajouter' onclick=\"ChooseAndAdd(\"".$ligne['id']."\",\"".$ligne['origin']."\" )\"  >";


 

Code :
  1. function ChooseAndAdd(id,origin)
  2. {code}


 
Cette fonction ChooseAndAdd a différents paramètres en fonction de variables PHP.  
Mon problème est que ces variables contiennent des caractères spéciaux notamment des parenthèses.
Mais ces parenthèses sont interprétées comme l'ouverture des paramètres d'une fonction JS alors qu'elle devraient être prise en compte comme un caractère à l'intérieur d'une chaine.
J'ai essayé de les faire passer dans une fonction qui échappe les acaractères spéciaux :

Code :
  1. function addslashes(str)
  2. {
  3. str=str.replace(/\(/g,'\\(');
  4. }


Mais le problème est le même...
 
Avez vous une solution?
Merci d'avance!

mood
Pub
Posté le 05-10-2011 à 14:25:00  
 

n°73365
Ashe
reenignE esreveR
Posté le 05-10-2011 à 14:27:09  
 

json_encode


---------------
pcx360 | Binary Genetics | Dreaming Prophet
“Entropy isn’t what it used to be.”
n°73366
jolamouche
Posté le 05-10-2011 à 14:42:25  
 

Good merci pour la réactivité.
 

Code :
  1. $id_ecoded=json_encode($ligne['id']);
  2. $origin_ecoded=json_encode($ligne['origin']);


 

Code :
  1. echo "<input type='button' value='Ajouter' onclick=\"ChooseAndAdd('".$id_ecoded."','".$origin_ecoded."')"\;>


 
Comme ça?
It still does not work..


Message édité par jolamouche le 05-10-2011 à 14:42:43
n°73367
Orphen
Parle à la main !
Posté le 05-10-2011 à 14:46:42  
 

Avec des code hexadécimaux ou une enroule du genre ça peut pas marcher ?

n°73368
LostSoul
Belgian Beer Forever (en slip)
Posté le 05-10-2011 à 15:06:03  
 

y'a ps une fonction htmlencode qqpart ?


---------------
Le cheval, c'est bon, mangez-en!  
[ www.in-wonderland.net | www.start64.com | www.majorgeeks.com | updt-bdnq ]
n°73369
Ashe
reenignE esreveR
Posté le 05-10-2011 à 15:11:11  
 

c'est vague "ca marche pas", a priori tu dois pas mettre les ' ' autour, mais bon suffit de voir la tete du HTML genere...


---------------
pcx360 | Binary Genetics | Dreaming Prophet
“Entropy isn’t what it used to be.”
n°73370
jolamouche
Posté le 05-10-2011 à 15:46:07  
 

J'ai édité mon code et enlevé les les ' ' autour.
 
Les parenthèses (et autres caractères) des chaines sont toujours présents dans l'html généré avec json_encode.
 
Ok la solution serait de trouver une fonction php qui me prepare mes strings, et une fonction JS qui me les déprépare..
addslashes n'échappe rien du tout..
hexdec ne prends pas en compte les caractères
 
 
Que reste-t-il?


Message édité par jolamouche le 05-10-2011 à 15:48:57
n°73371
Ashe
reenignE esreveR
Posté le 05-10-2011 à 16:17:32  
 

C'est json_encode, ca sert a rien de chercher une autre :spamafote:
Et y a aucune raison de faire quoi que ce soit avec les parentheses
edit: et accessoirement il n'y a rien a "depreparer" avec JS


Message édité par Ashe le 05-10-2011 à 16:18:01

---------------
pcx360 | Binary Genetics | Dreaming Prophet
“Entropy isn’t what it used to be.”
n°73372
jolamouche
Posté le 05-10-2011 à 16:34:05  
 

OK merci pour ces détails.
Je reste sur json_encode.
En effet le pb des parenthèses était soit imaginaire soit il est maintenant réglé.
 
Maintenant il me dit que le ma function is not defined... mais wtf alors que tout semble dans l'ordre!
 

Code :
  1. function ChooseAndAdd(id,origin)
  2. {
  3. window.opener.document.choix_doc.div_reference_docs.innerHTML=id+origin;
  4. }


Code :
  1. onclick='ChooseAndAdd(".$id_encoded.",".$origin_encoded." )


Message édité par jolamouche le 05-10-2011 à 16:43:05
n°73373
Ashe
reenignE esreveR
Posté le 05-10-2011 à 16:40:27  
 

Quel code horrible :sweat:
Un lien vers la page en question irait nettement + vite, surtout que ca fait 4 posts sans avoir montre le html... (parce que bon le PHP on s'en fout un peu une fois cote client)


---------------
pcx360 | Binary Genetics | Dreaming Prophet
“Entropy isn’t what it used to be.”
n°73374
jolamouche
Posté le 05-10-2011 à 16:44:21  
 

Code :
  1. html:
  2. <input type="button" onclick="ChooseAndAdd("8","bleu-gris" )" value="Ajouter">


Message édité par jolamouche le 05-10-2011 à 16:51:15
n°73375
Ashe
reenignE esreveR
Posté le 05-10-2011 à 16:50:01  
 

:sweat:
Suffirait de mettre tout le code... histoire de voir ou se trouve ChooseAndAdd, aussi... (probablement dans window.opener...)


Message édité par Ashe le 05-10-2011 à 16:50:17

---------------
pcx360 | Binary Genetics | Dreaming Prophet
“Entropy isn’t what it used to be.”
n°73376
LostSoul
Belgian Beer Forever (en slip)
Posté le 05-10-2011 à 18:16:32  
 

Ashe, pour une fois, j'admire ta patience :p


---------------
Le cheval, c'est bon, mangez-en!  
[ www.in-wonderland.net | www.start64.com | www.majorgeeks.com | updt-bdnq ]
n°73377
fredo490
Mais pourquoi donc ?
Posté le 05-10-2011 à 19:21:46  
 

En même temps ya pas beaucoup d'activité sur le forum en ce moment donc il peut bien faire ça  :pt1cable:


---------------
Ha oui, c'est ici qu'on écrit notre signature.
  FORUM Matbe.com
  OS, Software, Réseaux
  Programmation

  [PHP/JS] Syntaxe de paramètres de fonction variables