2010-09-24 7 views
1

J'ai le script suivant dans mon HTML:encodage/décodage traduit phrase

jQuery.sundayMorning(text, { destination: 'en' }, function(response) { 
    var uri = response.translation; 
    var text = decodeURIComponent(uri); 
    jQuery(".showText").val(text); 
}); 

Exemple d'entrée en espagnol: la casa de leo el combatiente.

Cela se traduit en anglais en tant que: leo's house fighter.

Je veux montrer ceci comme: leo's house fighter.

Quelqu'un sait comment résoudre ce problème?

Répondre

1

Normalement, vous utiliseriez la fonction element.html() pour cela. Mais puisque vous utilisez val(), vous essayerez de le montrer dans un élément d'entrée au lieu de div. Les éléments d'entrée ne prennent pas en charge la fonction html(). Comme aucune API directe n'est disponible dans jQuery pour décoder les entités HTML/XML, vous souhaitez créer un élément div, utilisez son html() et obtenez le résultat sous la forme text().

var decodedText = jQuery("<div/>").html(encodedText).text(); 

Ensuite, vous pouvez le montrer dans l'élément d'entrée.

jQuery(".showText").val(decodedText); 
+0

Merci BalusC !, qui a résolu mon problème. – mxm

+0

De rien. – BalusC