2013-02-02 148 views
2

我正在開發一個使用PHP的Smarty for一個法國客戶端的Web應用程序。我在java腳本警報和確認框中遇到問題。如何在JavaScript消息框中使用HTML特殊字符。這是我的代碼在js中無法正確顯示HTML特殊字符

<script type="text/javascript"> 
    function delConfirm(key){ 

     if(confirm('&Ecirc;tes vous certain de vouloir supprimer ce client ?')){ 
      window.location = "deleteClient.php?e="+key; 
     } 

    } 
</script> 

這是頁面第一部分的頁面源代碼。請看看編碼部分,

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title></title> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <meta name="description" content=""> 
    <meta name="author" content="Sunil"> 

回答

7

這是正確的,因爲confirm不接受HTML。不過,您可以在JavaScript中使用unicode轉義序列。您可以查找Unicode代碼點值here。的&Ecirc;等效爲U+00CA(它在this chart),所以:

if(confirm('\u00CAtes vous certain de vouloir supprimer ce client ?')){ 
    window.location = "deleteClient.php?e="+key; 
} 

另外,請確保您的文件被正確編碼(以UTF-8爲例),你的編輯器理解以這種方式編碼的文件,並該文件服務正確(服務器告訴瀏覽器它是UTF-8),甚至可以在頭文件中輸入meta charset="xxx" tag以獲得運氣,並且您可以直接在文件中輸入法文字符。

+0

感謝您的時間和建議。你能告訴我在警告框中顯示這樣一條消息的代碼('Ê tes vous certain de vouloir supprimer ce client?')嗎? – Technosavia

+0

感謝您寶貴的建議。我已經用頁面源更新了這個問題。請看看它。編碼是否正確?我可以直接在其中使用法語字符嗎? – Technosavia

+1

使用此網站檢索每個字符的十六進制值。然後添加一個\ u00到它(然後輸入hex部分),以便成爲\ u00CA http://www.mikezilla.com/exp0012.html –

1

使用這個代替

<script type="text/javascript"> 
    function delConfirm(key){ 

     if(confirm('\u00CAtes vous certain de vouloir supprimer ce client ?')){ 
      window.location = "deleteClient.php?e="+key; 
     } 

    } 
</script>