簡體   English   中英

ColdFusion / Javascript Escape單引號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM