2010-07-02 6 views
4

Pourquoi quand je mets un formulaire avec la référence de caractère numérique d'un unicode avec javascript, le caractère n'est pas converti en sa représentation correcte, mais quand je mets le formulaire directement à partir du html ça marche?Unicode à un formulaire avec Javascript

<html> 
<head> 
    <script language="javascript"> 
     function test() 
     { 
      document.InputForm.TextBox.value = '&#1495;'; 
     } 
    </script> 
</head> 
<body> 
    <form name="InputForm" ID="Form1"> 
    <input id="Text1" type="text" name="TextBox" style="color: 000000; position: absolute; left: 0; top: 200; width: 600px; " value="&#1495;"> 
    </input> 
    </form> 
    <form> 
    <input TYPE="button" Value="Button1" onClick="test();"> 
    </form> 
    <form> 
    <input TYPE="button" Value="Button2" onClick="document.InputForm.TextBox.value = '&#1495;'"> 
    </form> 
</body> 

+0

double possible de [Alt encodage d'attribut avec JavaScript] (http://stackoverflow.com/questions/2775328/alt-attribute-enc oding-with-javascript) –

Répondre

5

Essayez de changer votre chaîne Javascript pour '\ u1495'

\ u est la séquence d'échappement Unicode en Javascript

Et le code:

document.InputForm.TextBox.value = '\u1495'; 
+0

+1 yup, c'est la seule alternative qui me vient à l'esprit aussi. Bien qu'il soit très intéressant de savoir comment insérer des entités '&' par programmation. –

+1

@Pekka: Pour autant que je sache, il n'y a pas de fonction intégrée; cependant, voir ceci pour un remplacement: http://phpjs.org/functions/get_html_translation_table:416 – Piskvor

+0

@Pekka: voir [Alt l'encodage d'attribut avec JavaScript] (http://stackoverflow.com/questions/2775328/alt-attribute- encodage-avec-javascript). La réponse acceptée ne fonctionne qu'avec des représentations numériques, ma réponse fonctionne également avec toutes les autres entités HTML. –

Questions connexes