Maison >interface Web >js tutoriel >Comment puis-je conserver le codage HTML lors de la lecture à partir de champs de saisie en JavaScript ?

Comment puis-je conserver le codage HTML lors de la lecture à partir de champs de saisie en JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-24 12:43:15277parcourir

How Can I Preserve HTML Encoding When Reading from Input Fields in JavaScript?

Préserver l'encodage HTML lors de la lecture à partir du champ de saisie

Lors de l'extraction de valeurs de champs masqués à l'aide de JavaScript, il est courant de rencontrer des situations où l'encodage HTML est perdu, ce qui entraîne des valeurs de chaîne indésirables. Dans de tels cas, il devient essentiel de conserver le format encodé d'origine.

Heureusement, plusieurs approches peuvent être utilisées pour encoder des chaînes HTML. Une méthode efficace consiste à exploiter l'API DOMParser, offrant une solution plus moderne et plus fiable :

const encodedValue = new DOMParser().parseFromString(value, "text/html").body.textContent;

Alternativement, si une compatibilité existante est souhaitée, les fonctions jQuery suivantes offrent des fonctionnalités similaires :

function htmlEncode(value) {
  return $("<textarea>").text(value).html();
}

function htmlDecode(value) {
  return $("<textarea>").html(value).text();
}

Ces fonctions utilisent un élément textarea caché pour manipuler la chaîne. En définissant son textContent sur la valeur souhaitée, le navigateur encode automatiquement le contenu en HTML. Par la suite, le HTML encodé peut être récupéré via la propriété innerHTML.

Pour le décodage HTML, le processus est inversé, où le HTML encodé est défini comme innerHTML de la zone de texte et le textContent décodé est obtenu.

En employant l'une de ces techniques, il est possible d'extraire les valeurs codées en HTML des champs de saisie tout en conservant le formatage d'origine, garantissant ainsi une précision représentation sous forme de chaîne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn