2013-06-22 64 views
1

我在twitter引導格式中嵌入tinymce [http://www.tinymce.com/],以便用戶可以輸入格式化文本可以堅持到postgres數據庫。將格式化文本保存到數據庫,並按原樣恢復回格式化字符串

我面臨的問題是我在提交表單時得到純文本。有人可以幫我把格式化文本作爲一個字符串,我可以堅持並回顯到HTML頁面。

這裏是我的代碼[注:它使用HAML]

%html{:lang => "en"} 
    %head 
    %meta{:charset => "utf-8"} 
     %link{:href => "//netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css", :rel => "stylesheet"} 
    %script{:src => "//tinymce.cachefly.net/4.0/tinymce.min.js"} 
    :javascript 
     tinymce.init({selector:'textarea_format'}); 
%body 
    .container 
    %legend Post a New Job 
    .well 
     %form#signup.form-horizontal{:action => "submit", :method => "post"} 
     %legend 
     .control-group 
      %label.control-label Title 
      .controls 
      .input-prepend 
       %span.add-on 
       %i.icon-user 
       %input#title.input-xxlarge{:name => "title", :placeholder => "Title", :type => "text"}/ 
     .control-group 
      %label.control-label Description Formatted 
      .controls 
      .input-prepend 
       -#%span.add-on 
       -#%i.icon-user 
       %textarea_format#message.input-xlarge.span6{:name => "message_formatted", :rows => "10"} 
     .control-group 
      %label.control-label 
      .controls 
      %button.btn.btn-success{:type => "submit"} Submit 

好像我可以使用tinyMCE.get( '內容ID')的getContent(),但我不知道怎麼樣?

我對java腳本非常陌生。有人可以發佈所需的代碼更改和一些解釋。

感謝

+0

tinyMCE.get(「內容ID」)的底部。的getContent()是正確的,但我不知道這是怎麼回事 – Thariama

回答

1

基本上,要做到這一點最簡單的方法就是通過添加一個隱藏字段的形式提交按鈕單擊事件處理程序。

所以,在你的格式上創建一個名爲「message_formatted」的隱藏輸入(因爲我想你的模型中的相應字段被稱爲message_formatted),並將textarea的名稱更改爲其他名稱,更重要。

使用jQuery:

$('#signup input[type=submit]').click(function(e){ 
    $('input[name=message_formatted]').val(tinyMCE.get('content id').getContent()); 
}); 

在其中添加JavaScript的條款,這是給你的。最好把它放在一個javascripts目錄中(目前還不清楚你是否使用Rails和資產管道)。如果你想只此HAML頁面中添加JavaScript的內聯,將content_for :javascript do內上述在你的頁面

content_for :javascript do 
    // enter the javascript from above here