En JavaScript, récupérer la valeur d'un champ masqué pour l'afficher dans une zone de texte peut présenter un problème d'encodage. Prenons l'exemple suivant :
<input>
Lors de l'utilisation de jQuery pour récupérer la valeur du champ masqué, JavaScript perd son encodage :
$('#hiddenId').attr('value')
Le résultat souhaité est "chalk & cheese" avec le littéral "&" conservé.
Pour résoudre ce problème, nous introduisons ce qui suit fonctions :
function htmlEncode(value) { return $('<textarea/>').text(value).html(); } function htmlDecode(value) { return $('<textarea/>').html(value).text(); }
Ces fonctions créent un élément textarea en mémoire, définissent son texte interne, puis récupèrent le contenu encodé (htmlEncode) ou le texte interne décodé (htmlDecode). L'élément n'existe jamais sur le DOM.
Le code suivant montre comment utiliser ces fonctions :
let encodedValue = htmlEncode('chalk & cheese'); console.log(encodedValue); // Outputs "chalk &amp; cheese" let decodedValue = htmlDecode(encodedValue); console.log(decodedValue); // Outputs "chalk & cheese"
En utilisant ces fonctions, vous pouvez gérer efficacement Encodage HTML lors de la récupération des valeurs des champs de saisie en JavaScript.
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!