Comment utiliser javascript pour obtenir html des caractères spéciaux dans le texte d'entrée
Je veux envoyé quelques html caractère spécial de champ de texte, puis plus tard l'utilisation de javascript pour la remettre dans son format d'origine: comme si je l'ai envoyé "&pi", il montre "π" sur la saisie de texte, et quand j'utilise le javascript pour la récupérer, je devrais obtenir "&pi", mais je ne peux obtenir "π", pas "&pi". S'il vous plaît aider, mon code est comme suit:
<script type="text/javascript">
function qpush(a) {
document.getElementById('input').value += a;
}
function show(a) {
alert(document.getElementById('input').value);
}
</script>
<input type="text" id="input" />
<input type="button" onclick="qpush('π');" value="π" />
<input type="button" onclick="show()" value="go" />
OriginalL'auteur kli | 2012-07-17
Vous devez vous connecter pour publier un commentaire.
Selon ce que vous avez besoin pour vous ne pouvait faire l'une des 3 options:
utiliser le javascript s'échapper et ne pas encoder les fonctions:
var échappé = escape('π') //échappés = "%u03C0" qui ne pas encoder vous revenir en arrière en π
Si vous avez jQuery disponible, elle est html méthode pourrait faire l'affaire:
$('input').val().html()
C'est un hack mais les travaux: Enregistrer une copie de la valeur de la façon dont vous voulez qu'il revienne sur la 'données' attribut de l'élément d'entrée, cela permettra de valider en html5 et ne cassera pas dans d'autres doctypes.
document.getElementById('input').setAttribute('data-valeur d'origine', '&pi')
Cool, je suis content d'être de l'aide 🙂
Btw, Si vous aimez ma réponse, pouvez-vous voter s'il vous plaît?
OriginalL'auteur Lior
La
value
propriété vous donnera de texte, pas en HTML.Vous pouvez essayer degetAttribute('value')
mais depuisπ
etπ
sont à l'identique de l'équivalent en HTML, un navigateur est entièrement libre de retournerπ
pour ça aussi.une Fois que le HTML a été converti dans un DOM, il n'y a aucun moyen d'accéder à du HTML d'origine (à court de télécharger le code HTML de nouveau avec XHR et de l'analyse du texte brut de vous-même).Si vous voulez que les données soient
"π"
ensuite le code HTML, il doit être&pi;
.Si vous voulez que et le rendu sur le bouton pour être
π
alors vous avez besoin:(En gardant à l'esprit les différents bugs que les vieux IE a avec l'élément de bouton)
Qui, bien sûr, l'affichage
π
lorsque vous copiez la valeur de la saisie de texte.Oh, manquer, que ce fut un autre élément que vous aviez la valeur de.
getAttribute
retourne la valeur de l'attribut (qui est la valeur par défaut de l'entrée) pas la valeur actuelle.OriginalL'auteur Quentin
L'utiliser pour remplacer toutes les occurrences du caractère:
Vous pourriez maintenir un tableau de spécial entité mappages de l'exécution de la remplacer.
J'ai essayé, mais il ressemble à remplacer les() ne peut pas utiliser de très de caractères spéciaux comme π.
fonctionne pour moi: jsfiddle.net/mNexE
OriginalL'auteur Christoph