[resolu] validation W3C et les "&"

validation W3C et les "&" [resolu] - HTML/CSS - Programmation

Marsh Posté le 25-05-2012 à 09:06:09    

Bonjour
 
J'essaye d'avoir mon site compatible w3c, et j'ai un souci avec quelques "&".
 
1) dans quelques listes déroulantes, je peux avoir un & . par exemple "tartine & chocolat". Le validateur en ligne du w3c me signale une erreur à ce niveau là, comment l'éviter ? Cette liste est générée en php, peut être une instruction à mettre quelquepart ?  
 
2) par endroit je fais appel à du jquery (appel ajax). Par exemple , les paramètres de l'appel sont écrits comme ça :
 

Code :
  1. data : 'code_postal='+$(this).val()+'&'+'id_code_pays='+$('#id_code_pays').val() ,


 
Et le  w3c me signale une erreur à cause du &. Si je mets un "&" à la place il n'y a plus d'erreur w3c mais l'appel ne fonctionne plus évidemment ! Comment faire ?  
 
Vous me direz que c'est un détail d'être compatible w3c, mais je m'efforce à l'être tout de même.  
 
Merci d'avance pour vos réponses. Dominique


Message édité par domi_bu le 25-05-2012 à 09:47:47
Reply

Marsh Posté le 25-05-2012 à 09:06:09   

Reply

Marsh Posté le 25-05-2012 à 09:30:06    

mets le script dans des balises CDATA


---------------
Blablaté par Harko
Reply

Marsh Posté le 25-05-2012 à 09:47:26    

merci Gatsu35. je ne connaissais pas ce mot clé .Je viens de me renseigner sur w3scholl (excellent site) et c'est exactement ce qu'il me fallait.  
 
Quand aux & dans mes libellés c'est résolu avec htmlentities en php du côté serveur.  
 
J'ai donc maintenant une page full W3C . Super !
 
Dominique

Reply

Marsh Posté le 25-05-2012 à 15:55:00    

Sinon tu peux passer ton champ data comme ceci il me semble

Code :
  1. data: { 'code_postal': $(this).val(), 'id_code_pays': $('#id_code_pays').val() }

Reply

Marsh Posté le 26-05-2012 à 09:24:18    

bonjour xaeon
 
Encore mieux ta réponse . Ca me parai mieux que de mettre le script dans un CDATA.  
 
Par contre il ne faut pas mettre les paramétres entre quotes. Et faire comme ceci :

Code :
  1. data : {code_postal:$(this).val(),id_code_pays:$('#id_code_pays').val() }


 
Merci pour ta réponse. C'est déjà en prod et c'est bien w3c.  
Dominique
 
 

Reply

Marsh Posté le 26-05-2012 à 10:17:52    

Effectivement j'suis grave à l'ouest :D pas besoin de simple quote ^^'

Reply

Marsh Posté le 26-05-2012 à 10:40:01    

La norme JSON impose de mettre les clés entre quotes.
 
Un fichier JSON bien formaté sera ainsi :  

Code :
  1. {
  2.    "key": "value",
  3.    "key2" : "value
  4.    }


---------------
Blablaté par Harko
Reply

Marsh Posté le 26-05-2012 à 10:50:42    

C'est vrai mais jQuery présente ça sans quote  :??: de son coté
http://api.jquery.com/jQuery.ajax/
 
Et de mémoire il est vrai que lors des appels que je fais je n'en utilise pas. A tester avec :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed