不幸的是,這是一個特定的請求。比較javascript中兩個不同來源的字符串
我有一個CMS,允許用戶輸入文本到他們所做的各種職位的tinymce編輯器。編輯器通過ajax加載,允許從一個頁面編輯多個帖子。如果單擊取消,我希望能夠檢查是否對主文本進行了編輯。
目前我在ajax調用期間從數據庫中獲取文本的值,json_encode,然後在回調期間將其存儲在一個javascript變量中,以便稍後進行檢查。當單擊了取消隱藏textarea的電流值(使用TinyMCE的存儲提交的數據)使用jquery.val()被抓住,並從以前的Ajax調用覈對存儲的值是這樣的:
if(stored_value!=textarea.val())
{
return true
}
即使沒有更改,它當前總是返回true。
這個問題似乎是textarea.val()使用html實體,而ajax jsoned版本不。
從螢火阿賈克斯的反應是這樣的:
<p>some text<\/p>\r\n<p>some more text<\/p>
textarea的源代碼如下所示:
<p>some text</p>
<p>some more text</p>
這些都是明顯的不同,但我怎麼可以讓他們來處理如同評估一樣?
是否有一個函數比較字符串的最終輸出或使用javascript將一個字符串轉換爲另一個字符串的方式?
我試着在ajax頁面中使用html實體,但是這個返回的字符串與html實體完好無損時警告,我假設因爲json_encoding它把它們變成了字符。
任何幫助將不勝感激。
你應該使用firebug來調試你的JS。 console.log(stored_value,' - ',textarea.val())我不知道你是否正確使用jquery,因爲你應該使用$('textarea#mytextarea')。 – 2010-03-31 12:06:55
對不起,這是我縮寫的東西,以節省時間打字,我使用類似$(textarea#mytextarea')。val(),但簡化到textarea.val()顯示我得到的textarea的值。 – andyface 2010-04-06 09:24:46