2011-05-12 55 views
1

我想要顯示特殊字符的使用JavaScript和JSP的一個警告框...如何在使用JavaScript的警報框中顯示特殊字符?

String encodeString = "ss\ncc"; 
String test = "DisplayNext('"+encodeString+"')"; 
String NextLink = "<br><a href='#' onclick="+test+"> Next</a>"; 

也就是說

function DisplayNext(Next){ 
    alert(Next); 
} 

雖然我使用特殊字符,我不能夠顯示它們一個警報框。我怎樣才能解決這個問題?

+8

你已經張貼* * 67 **以前的問題。有鑑於此,您現在應該能夠對代碼進行格式化。查看問題區域右側的方便的**如何格式化**框,以及剛剛在上方的** [?] **鏈接的頁面(http://stackoverflow.com/editing-help)問題區域。 – 2011-05-12 08:48:06

回答

5

您的代碼產生這樣的:

<br><a href='#' onclick="DisplayNext('ss 
cc');"> Next</a> 

而且你需要的是:

<br><a href='#' onclick="DisplayNext('ss\ncc');"> Next</a> 

如果你想有一個換行符在JavaScript它必須看起來像\\n在java中。因此,請使用:

String encodeString = "ss\\ncc"; 
String test = "DisplayNext('"+encodeString+"')"; 
String NextLink = "<br><a href='#' onclick="+test+"> Next</a>"; 

還要考慮使用特殊函數將您的String對象作爲javascript值進行轉義。谷歌會很容易地幫你找到它;)

2

如果你的字符串是用java編寫的URLEncoded,你需要在javascript中忽略它。

的Java:

String s = "ë"; 
    System.out.println(URLEncoder.encode(s, "ISO-8859-1")); 

這將打印出EB%

的Javascript:

alert(unescape('%EB')); 

這將打印出的字符E在警報消息