Afficher des résultats Ajax dans des champs de formulaires

J’ai étais confronté durant un projet à un problème sur mes champs de formulaires.

Lorsque je préchargeais des informations récuperées en Ajax au format JSON, je voulais les afficher dans mes champs de formulaires mais les caractères encodés en HTML ne s’affichait pas correctement.

Afin de remédier à cela, j’ai trouvé une astuce avec jQuery. Voici donc la solution :

var sParsed = $("<div>").html(data.nom).text();
$("input[name$='mon_input']").val(sParsed);

Des explication s’imposent.

Tout cela est à rajouter dans la fonction du success de votre appel Ajax:

$.ajax({
type: "POST",
async: false,
url: "./ma_page.php",
success: function(data){
var sParsed = $("<div>").html(data.nom).text();
$("input[name$='mon_input']").val(sParsed);
}
}

ou ma_page.php renvoie un tableau JSON des données sous la forme :

{
data: {
nom : "&amp;Eacute;ssai"
}
}

Le résultat sera donc affiché dans l’input avec le « name » égale à « mon_input ».

$("input[name$='mon_input']").val("test");

J’espère vous avoir aidé.

Si vous avez des questions, j’y répondrais rapidement grâce aux commentaires.

Laisser un commentaire