Scriptaculous Ajax.InPlaceEditor不适用于HTML

时间:2009-03-24 17:05:43

标签: html ajax scriptaculous

我正在使用Scriptaculous Ajax.InPlaceEditor编辑数据库中的数据。

实际上,当数据库中没有数据时,它首先完美运行; 以下是我在导航器源代码中的内容:

<p id="edit" title="Click to edit" >
New text to edit here
</p>

我可以创建一个新记录,自动添加一些HTML来更改设计,并且由于Ajax.InPlaceEditor而一次又一次地更改没有任何问题。 这时,源代码的外观如下:

<p id="edit" title="Click to edit" >
<ol>
<li>item1</li>
<li>item2</li>
</ol>
</p>

好的,这很完美。这在数据库中也很完美......

但是,如果我重新加载整个页面,那么可编辑段落的初始值现在是直接来自数据库的HTML,这就是我在源代码中的内容:

<p id="edit" title="Click to edit"/>
<ol>
<li>item1</li>
<li>item2</li>
</ol>

如您所见,&lt; / p&gt;神秘失踪,该段落不再可编辑...... Rich注意到该段实际上是自闭的...... 我还尝试手动将HTML文本设置到数据库中,结果是一样的: &LT; / p&gt;缺少......

您是否知道发生了什么,以及如何解决?

非常感谢你..

2 个答案:

答案 0 :(得分:1)

假设您正确复制了HTML,原始HTML块末尾的p标记是多余的,因为您已使用斜杠关闭了第一个块中的p标记:

<p id="edit" title="Click to edit"/>
                                  ^closes the p tag

我假设编辑器“修复”了HTML,因此删除了最终结束的p标签,因为在有序列表开始之前p标签已关闭

答案 1 :(得分:1)

您无法将ol包裹在p中。也就是说,<ol>比您想象的更早地关闭p。我建议使用div intsead。