Problème de caractères en JavaScript
Résolu
Bonjour,
Je suis actuellement entrain de créer un site avec un système de recherche.
Sauf que si un utilisateur met un "&", "+", etc... le code ne marche plus.
J'aimerais donc savoir si il existe un genre de htmlspecialchars() mais en JS.
Merci d'avance.
Je suis actuellement entrain de créer un site avec un système de recherche.
InputSearch.oninput = function(){
var Val = InputSearch.value;
$('#contentpage').load('all.php?q=' + Val);
}
Sauf que si un utilisateur met un "&", "+", etc... le code ne marche plus.
J'aimerais donc savoir si il existe un genre de htmlspecialchars() mais en JS.
Merci d'avance.
2 réponses
-
Ok, merci je vais tester ça ce soir !
-
ModérateurBonjour,
En JS, tu pourrais simuler la fonction htmlspecialchars par une fonction du genrefunction escapeHtml(text) { var map = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; return text.replace(/[&<>"']/g, function(m) { return map[m]; }); }
Mais je pense qu'il serait plus "propre" de changer ta méthode .load() par une appel ajax en post.var Val = InputSearch.value; $.ajax({ cache: false, url: "all.php", type: "POST", data: { q: Val } }).done(function (data) { $('#contentpage').html(data); }).fail(function (jqXHR, textStatus) { console.log("Erreur Ajax",jqXHR,textStatus); });
bien entendu, dans ton fichier all.php .. il faudra modifier ta récupération de variable
au lieu d'utiliser le $_GET , il faudra utiliser le $_POST