【问题标题】:Save formatted text to database and retrieve it back 'as is' like a formatted string将格式化文本保存到数据库并像格式化字符串一样“按原样”检索它
【发布时间】:2013-06-19 07:58:18
【问题描述】:

我将 tinymce [http://www.tinymce.com/] 嵌入到 twitter 引导程序表单中,以便用户可以输入我可以保存到 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('content id').getContent() 但我不确定如何使用?

我对 java-script 很陌生。有人可以发布所需的代码更改和一些解释。

谢谢

【问题讨论】:

  • tinyMCE.get('content id').getContent() 是正确的,但我不知道这里会是什么样子

标签: javascript forms postgresql web-applications tinymce


【解决方案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

【讨论】:

    猜你喜欢
    • 2013-01-01
    • 2013-12-15
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 2014-06-11
    • 1970-01-01
    相关资源
    最近更新 更多