HTML de codage perdu lors de la lecture d'attribut du champ de saisie

Je suis en utilisant JavaScript pour la traction d'une valeur d'un champ caché et l'afficher dans une textbox. La valeur du champ caché est codé.

Par exemple,

<input id='hiddenId' type='hidden' value='chalk &amp; cheese' />

se tire dans

<input type='text' value='chalk &amp; cheese' />

par le biais de certains de jQuery pour obtenir la valeur du champ caché (c'est à ce moment que je perds de l'encodage):

$('#hiddenId').attr('value')

Le problème est que lorsque j'ai lu chalk &amp; cheese du champ caché, JavaScript semble perdre de l'encodage. Je ne veux pas la valeur à chalk & cheese. Je veux le littéral amp; être conservé.

Est-il une bibliothèque JavaScript ou jQuery méthode HTML-encoder une chaîne de caractères?

  • Pouvez-vous montrer le code Javascript que vous utilisez?
  • avons ajouté la façon dont je reçois la valeur du champ caché
  • debuggable.com/posts/...
  • Ne PAS utiliser la méthode innerHTML (le jQuery .html() la méthode utilise innerHTML), comme sur certaines (je ne l'ai testé Chrome) des navigateurs, ce ne sera pas échapper les guillemets, donc si vous mettez votre valeur en une valeur d'attribut, vous vous retrouvez avec une vulnérabilité XSS.
  • dans quel contexte est chalk et cheese jamais utilisés ensemble 0_o
  • lors de la comparaison de deux éléments. exemple. ils sont aussi différents que la craie et le fromage 😉

InformationsquelleAutor AJM | 2009-08-02