2010-07-02 68 views
4

爲什麼當我用javascript的數字字符引用設置一個unicode的表單時,字符沒有轉換爲正確的表示形式,但是當我直接從html中設置表單時,它的工作原理是什麼?Unicode到一個帶有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

可能重複[使用JavaScript編碼Alt屬性](http://stackoverflow.com/questions/2775328/alt-attribute-enc用javascript編碼) – 2010-07-02 12:32:44

回答

5

試着改變你的JavaScript字符串,以 '\ u1495'

\ u是在Javascript

Unicode轉義序列和代碼:

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

+1 yup,這也是我想到的唯一選擇。儘管知道以編程方式插入'&'實體的方式會非常有趣。 – 2010-07-02 12:18:49

+1

@Pekka:據我所知,沒有內置函數;不過,請參閱以下代碼:http://phpjs.org/functions/get_html_translation_table:416 – Piskvor 2010-07-02 12:28:10

+0

@Pekka:請參閱[用JavaScript編碼Alt屬性](http://stackoverflow.com/questions/2775328/alt-attribute-編碼帶的JavaScript)。接受的答案只適用於數字表示,我的答案也適用於所有其他HTML實體。 – 2010-07-02 12:28:42

相關問題