Ruby on rails 使用Rails实时预览格式化HTML表单输入

Ruby on rails 使用Rails实时预览格式化HTML表单输入,ruby-on-rails,ajax,live-preview,Ruby On Rails,Ajax,Live Preview,我想要一个功能,预览一些带有HTML标记的文本,然后将文本存储在数据库中。我知道出于XSS安全考虑,在数据库中允许HTML不是一个好主意。实现这一目标的途径是什么 我想要一个类似于stackoverflow的功能,在这里我们可以格式化源代码。谢谢。推荐方式: 在html页面上为表单创建一个。提交输入,在其中呈现输入(例如,由稍后将呈现数据库输出的同一助手) 使用类似于XSS的标记语言。您的用户也更容易输入/理解 您请求的方式: 创建一个javascript事件侦听器,并将表单/输入的内容写入另一

我想要一个功能,预览一些带有HTML标记的文本,然后将文本存储在数据库中。我知道出于XSS安全考虑,在数据库中允许HTML不是一个好主意。实现这一目标的途径是什么


我想要一个类似于stackoverflow的功能,在这里我们可以格式化源代码。谢谢。

推荐方式:

在html页面上为表单创建一个。提交输入,在其中呈现输入(例如,由稍后将呈现数据库输出的同一助手)

使用类似于XSS的标记语言。您的用户也更容易输入/理解

您请求的方式:

创建一个javascript事件侦听器,并将表单/输入的内容写入另一个div

您需要的javascript取决于您使用的库(例如Prototype或jQuery)

示例:

假设您有一个带有text区域的表单,
,以及一个带有
的预览区域div,并且您正在使用Prototype:

document.observe("dom:loaded", function() {
  new Form.Element.Observer('text', 0.25, 
    function () {
      $('preview').update($F('text'));
    }
  );
}
这将每隔250ms检查textarea的更改,并将其输入复制到preview div中


实际上,您只需要使用
文档调用的函数中的代码。观察
(从
新表单.元素.观察者开始…
文档。观察
将在浏览器完成构建DOM树后调用此代码。

推荐方式:

在html页面上为表单创建一个表单。提交输入,输入将在其中呈现(例如,由稍后将呈现数据库输出的同一个助手)

使用像避免XSS这样的标记语言。对于用户来说,它也更容易键入/理解

您请求的方式:

创建一个javascript事件侦听器,并将表单/输入的内容写入另一个div

您需要的javascript取决于您使用的库(例如Prototype或jQuery)

示例:

假设您有一个带有text区域的表单,
,以及一个带有
的预览区域div,并且您正在使用Prototype:

document.observe("dom:loaded", function() {
  new Form.Element.Observer('text', 0.25, 
    function () {
      $('preview').update($F('text'));
    }
  );
}
这将每隔250ms检查textarea的更改,并将其输入复制到preview div中


实际上,您只需要使用
document调用的函数中的代码。请观察
(从代码<新的表单.Eng.Value.Eclipse…<代码> > .<代码>文档。观察< <代码>将在浏览器完成DOM树之后调用此代码。

您也可以考虑使用诸如纺织品或标记的方法,这是用纯文本实现HTML标记的方法。

您也可以考虑使用像TeXTI这样的东西。le或markdown,这是用纯文本实现HTML标记的方法。

stackoverflow使用
markdown
作为标记系统。stackoverflow使用
markdown
作为标记系统。