Scriptaculous Ajax.InPlaceEditor не работает с HTML - PullRequest
1 голос
/ 24 марта 2009

Я использую 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>

Как видите,

загадочно отсутствует, и абзац больше не редактируется ... Рич заметил, что этот пункт на самом деле самозакрывающийся ... Я также попытался вручную установить текст HTML в базу данных, и результат тот же: отсутствует ...

Не могли бы вы представить, что происходит и как это исправить?

Спасибо большое ..

Ответы [ 2 ]

1 голос
/ 24 марта 2009

Вы не можете обернуть ol с в p с. То есть <ol> закрывает p раньше, чем вы думаете. Я предлагаю использовать div intsead.

1 голос
/ 24 марта 2009

Если вы правильно скопировали HTML, тег p в конце исходного блока HTML является излишним, поскольку вы закрыли тег p в первом блоке с косой чертой:

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

Я предполагаю, что редактор "исправляет" HTML, поэтому удалил заключительный закрывающий тег p, так как тег p был закрыт до начала упорядоченного списка

...