1

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

实际上,当数据库中没有数据时,它一开始就可以正常工作;这是我的导航器源代码中的内容:

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

借助 Ajax.InPlaceEditor,我可以创建一条新记录,自动添加一些 HTML 来更改设计,并且一次又一次地更改而没有问题。此时,源代码如下所示:

<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>

如您所见,</p> 莫名其妙地丢失了,并且该段落不再可编辑... Rich 注意到该段落实际上是自动关闭的... 我还尝试将 HTML 文本手动设置到数据库中,并且结果是一样的:</p> 不见了……

你知道发生了什么,以及如何解决它吗?

非常感谢..

4

2 回答 2

1

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

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

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

于 2009-03-24T17:12:20.057 回答
1

你不能将 s 包裹olps 中。也就是说,<ol>关闭的p时间比你想象的要早。我建议使用divintsead。

于 2009-03-24T19:11:35.793 回答