2012-07-12 59 views
0

我使用jHtmlArea從用戶獲取一些HTML,一切都很好,但是當我嘗試從其他網站粘貼一些文本時,它不會將換行符解碼爲<br/> altought它們在框中。這隻發生在粘貼的文本中,手動輸入的文本沒有問題。jHtmlArea不處理貼換行

所以,當我想顯示文本正確我使用類似:

@Html.Raw(Model.Text.Replace(Environment.NewLine, "<br/>")) 

但是,當我需要重新顯示在jHtmlArea此相同的文字,供用戶編輯它,它就會失去所有的換行。有誰知道如何解決這一問題?

回答

0

我最終使用它,有太多的錯誤,我沒有時間修復。 無論如何,這裏是我做了什麼,以獲得保存的文本,以正確顯示換行符(請檢查是否如果你打算使用這個「黑客」的話,在將它保存到db之前源是好的)

$(document).ready(function() { 

//Initialize JhtmlArea 

    $(".editor").htmlarea({ 
     toolbar: [ 
        ["bold", "italic", "underline"], 
        ["orderedList", "unorderedList"], 
        ["link", "unlink"], 
       ] 
    }); 

//Set id (id will be same for all instances) 

    $("iframe").attr("id", "editor"); 

// Style hack 

$("#editor").contents().find('body').css({ "font-family": "MS Shell Dlg", "font-size": "12px", "font-weight": "100" }); 

// Finally to newlines hack 

var html = $(".editor").htmlarea("toHtmlString"); 

// I would od something like $(".editor").htmlarea("html", ""); 
// But there is a bug since this function calls "pastHtml" internally 
// which is a typo instead of 
// "pasteHtml" so it won't work 

$("#editor").contents().find('body').html(""); 
$(".editor").htmlarea("pasteHTML", html.replace(/\n/g, '<br\>')); 


});