[英]ColdFusion/Javascript Escape Single Quote
我知道這將是一件簡單的事情,我只是錯過了某種方式,但在這里:
我有一個ColdFusion應用程序,用戶可以在多個屏幕上輸入文本。 我有一個javascript函數,它根據存儲在數據庫中的內容檢查輸入的文本,並彈出一個確認窗口,詢問他們是否要保存/放棄更改。
如果用戶輸入的文本包含引號(單引號或雙引號),則javascript完全死亡。 我需要在保持檢查內容是否匹配的能力的同時轉義引號。
我已經嘗試了escape()和replace()函數(單獨和一起),但沒有任何工作。
示例javascript:
function change_question(){
var feedback = document.getElementById('feedback').value; //this is what the user has entered on the page
var stored_feedback = "#trim(StoredFeedback)#"; //this is what is stored in the database; retrieved via ColdFusion
if (feedback != stored_feedback) {
if (confirm('You have unsaved data on the page. Do you wish to discard your changes?')) {
//go to next page
}
}
else {
//go to next page
}
}
謝謝。
內置的jsStringFormat將為JavaScript轉義
var stored_feedback = "#jsStringFormat(StoredFeedback)#";
我不知道ColdFusion但根據文檔:
var stored_feedback = #SerializeJSON( trim(StoredFeedback) )#;
我認為您不應該顯式添加引號,因為序列化為JSON時的字符串最終應該以雙引號結束。 再說一遍,我不能自己測試一下。
如果您正在尋找ColdFusion解決方案,您可能希望使用此方法:
HTMLEditFormat(string)
HTML轉義字符串字符串。 返回字符已刪除; 換行符保留。 HTML中具有特殊含義的字符將轉換為HTML字符實體,例如>。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.