Page 1 sur 1

Gestion de L'echappement

Posté : 26 juin 2012, 14:30
par Ryaku
Bonjour,

voilà j'ai un ptit problème avec mon code PHP

j'ai une variable nbon que je reprend d'une procédure stocké Sybase (jusque la tout va bien)


ensuite je fais appel à une fonction info_cde en Ajax qui va me permettre de faire un Header (jusque la tout vas bien aussi)

Code : Tout sélectionner

function info_cde(arg,top) { $('#cadre_encours').html('<div style=\'color:white;font-size:10px\'>Recuperation des données en cours ...</div>'); $('#cadre_encours').css('top',top+10); $('#cadre_encours').css('left',405); $('#cadre_encours').css('width',500); $('#cadre_encours').css('overflow','auto'); $.ajax({ type: 'POST', url: './customization/traitement_infocde.php', async: true, data: 'nbon='+arg, success: fonctionRappel_infocde });
là ou ça se complique c'est que lors de la recuperation du nbon via ce code ci dessous, il ne me recupere que du numérique et pas de char, j'ai testé en mettant des \ sur les ' et rien ne fonctionne.

Auriez vous une idée ?

Code : Tout sélectionner

echo "<td onclick='info_cde(" .$elements['nbon'] .",this.offsetTop)' style='background-color:#FEF8A9;text-align:left'>" .$elements['nbon'] ."</td>";


Merci :)

Re: Gestion de L'echappement

Posté : 26 juin 2012, 14:46
par xTG
Essaies ainsi :
echo "<td onclick=\"info_cde('" .$elements['nbon'] ."',this.offsetTop)\" style=\"background-color:#FEF8A9;text-align:left\">" .$elements['nbon'] ."</td>";

Re: Gestion de L'echappement

Posté : 26 juin 2012, 15:03
par Ryaku
c'est impecc ça marche !!! merci bcp

mais je viens de m'apercevoir que j'ai la meme chose en plus tordu....

Code : Tout sélectionner

echo "<td id='" .$partenaire_a_verifier_header ."_" .$cpt ."' onmouseout='cache()' onmouseover='maj_header(" .$elements['nbon'] .",this.offsetTop)' style='text-align:center;color:grey;background-color:#FEF8A9'>---</td>";
Merci

Re: Gestion de L'echappement

Posté : 26 juin 2012, 15:33
par xTG
Gères les attributs HTML avec des doubles quotes comme la norme HTML le stipule, en les échappant vu ton utilisation des doubles quotes pour la String PHP.
Puis gère les String JS avec des simples quotes.

Re: Gestion de L'echappement

Posté : 26 juin 2012, 15:34
par Ryaku
bon bah j'ai pu trouver le dernier bout de code avec

Code : Tout sélectionner

onmouseover=\"maj_header('" .$elements['nbon'] ."',this.offsetTop)\" style=\"text-align:center;color:grey;background-color:#FEF8A9\">---</td>";
merci en tout cas :)