Maison >interface Web >js tutoriel >Comment puis-je conserver le codage HTML lors de la récupération de valeurs à partir de champs de saisie masqués en JavaScript ?
Préserver l'encodage HTML lors de la lecture de l'attribut de champ caché
Lors de l'extraction de valeurs à partir de champs de saisie masqués encodés, JavaScript perd souvent l'encodage au cours du processus . Ceci est problématique lorsque l'intention est de conserver les caractères littéraux esperluette (&).
Solution :
Pour résoudre ce problème, JavaScript fournit des méthodes qui peuvent encoder en HTML cordes. L'une de ces méthodes est :
function htmlEncode(value) { // Create an in-memory textarea element and set its inner text. // Text within a textarea is automatically encoded. return $('<textarea/>').text(value).html(); }
Utilisation :
Cette fonction peut être intégrée à votre code pour garantir que le codage HTML est conservé lors de la lecture à partir de champs masqués :
var encodedValue = $('#hiddenId').attr('value'); var decodedValue = htmlDecode(encodedValue);
Alternativement, la bibliothèque jQuery fournit une méthode appelée htmlDecode() qui peut inverser le encodage :
// Decoding the encoded value var decodedValue = decodedValue = $('<div/>').html(encodedValue).text();
Exemple :
Considérez le champ caché :
<input>
Utilisation de la fonction htmlEncode() :
var encodedValue = $('#hiddenId').attr('value'); console.log(encodedValue); // Outputs: chalk & cheese
Utilisation de htmlDecode() méthode :
var decodedValue = $('<div/>').html(encodedValue).text(); console.log(decodedValue); // Outputs: chalk &cheese
Dans les deux cas, l'encodage HTML d'origine est conservé pendant le processus d'extraction.
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!